Exercism exercises in Perl
Each exercise has its own cpanfile (if necessary) for any dependencies it might have.
Mise is used to manage installing the latest version of Perl along with the needed dependencies.
The setup is done automatically with the devcontainer, or can be done manually by running mise install.
Each exercise should have a template-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.
Running mise generate-practice-exercise <slug> will sync with configlet and generate the specified exercise.
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).
Run the full tests with
prove -r exercises/practice/*/.meta/solutions
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.
Run tests against the test runner Docker image with
bin/verify-exercises-in-docker
Please see the contributing guide for information from Exercism. When editing Markdown files in this repository, please use one line ↔ one sentence.
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.