All Projects → exercism → perl5

exercism / perl5

Licence: MIT License
Exercism exercises in Perl 5.

Programming Languages

perl
6916 projects

Projects that are alternatives of or similar to perl5

C
Exercism exercises in C.
Stars: ✭ 177 (+608%)
Mutual labels:  exercism-track
vimscript
Exercism exercises in Vim script.
Stars: ✭ 19 (-24%)
Mutual labels:  exercism-track
nim
Exercism exercises in Nim.
Stars: ✭ 43 (+72%)
Mutual labels:  exercism-track
dart
Exercism exercises in Dart.
Stars: ✭ 43 (+72%)
Mutual labels:  exercism-track
swift
Exercism exercises in Swift.
Stars: ✭ 89 (+256%)
Mutual labels:  exercism-track
emacs-lisp
Exercism exercises in Emacs Lisp.
Stars: ✭ 40 (+60%)
Mutual labels:  exercism-track
Cpp
Exercism exercises in C++.
Stars: ✭ 156 (+524%)
Mutual labels:  exercism-track
common-lisp
Exercism exercises in Common Lisp.
Stars: ✭ 65 (+160%)
Mutual labels:  exercism-track
clojure
Exercism exercises in Clojure.
Stars: ✭ 125 (+400%)
Mutual labels:  exercism-track
plsql
Exercism exercises in PL/SQL.
Stars: ✭ 22 (-12%)
Mutual labels:  exercism-track
raku
Exercism exercises in Raku
Stars: ✭ 19 (-24%)
Mutual labels:  exercism-track
pony
Exercism exercises in Pony.
Stars: ✭ 34 (+36%)
Mutual labels:  exercism-track
x86-64-assembly
Exercism exercises in x86-64 Assembly.
Stars: ✭ 19 (-24%)
Mutual labels:  exercism-track
Javascript
Exercism exercises in JavaScript.
Stars: ✭ 245 (+880%)
Mutual labels:  exercism-track
coq
Exercism exercises in Coq.
Stars: ✭ 15 (-40%)
Mutual labels:  exercism-track
Csharp
Exercism exercises in C#.
Stars: ✭ 169 (+576%)
Mutual labels:  exercism-track
sml
Exercism exercises in Standard ML.
Stars: ✭ 21 (-16%)
Mutual labels:  exercism-track
groovy
Exercism exercises in Groovy.
Stars: ✭ 18 (-28%)
Mutual labels:  exercism-track
d
Exercism exercises in D.
Stars: ✭ 14 (-44%)
Mutual labels:  exercism-track
babashka
Exercism exercises in Babashka.
Stars: ✭ 12 (-52%)
Mutual labels:  exercism-track

Exercism Perl 5 Track

Exercism exercises in Perl 5

Getting started

Dependencies

Each exercise has its own cpanfile (if necessary) for any dependencies it might have. Other dependencies can be found in and installed with the top level cpanfile.

It is recommended to use Carton. Install the Carton module, run carton install to install the dependencies from the cpanfile, then prepend carton exec to your commands to include the locally installed dependencies.

Adding/Updating an Exercise

Each exercise should have an exercise-data.yaml file inside a directory named .meta (please add one if the exercise does not have one yet). This is used by the exercise-gen.pl script in the bin directory to generate the module and test for an exercise. Documentation for the generator can be found in the bin directory.

If the Exercism problem specification for the exercise has been updated, run

git submodule update --recursive --remote --checkout --force
git add problem-specifications

to update the submodule to the latest.

Testing the Tests

The Exercism system allows us to have example implementations in the directory of each exercise.

If they are in the .meta directory they won't be copied to the users. (which is a good thing).

Testing All the Exercises

Run the full tests with

prove -r exercises/practice/*/.meta/solutions

Testing a Single Exercise

If a test is run as

prove exercises/example-exercise/.meta/solutions/example-exercise.t

the test will run using the example in the .meta/solutions directory.

Contributing Guide

Please see the contributing guide for information from Exercism. When editing Markdown files in this repository, please use one line one sentence.

Perl 5 icon

The onion is the logo of the Perl Foundation. It is trademarked, and we have adapted it--changing the color--with their permission. The Perl Foundation does not support or endorse Exercism.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].