exercise: Bob version: 2 plan: 28 subs: hey tests: |- is $subs{hey}->($_->{input}), $_->{expected}, $_->{description} foreach @{$C_DATA->{cases}}; exercise_comment: '# The name of this exercise.' version_comment: '# The version we will be matching against the exercise.' lib_comment: '# Look for the module inside the same directory as this test file.' plan_comment: '# This is how many tests we expect to run.' use_test_comment: '# Check that the module can be use-d.' cdata_test_comment: '# Ignore this for your exercise! Tells Exercism folks when exercise cases become out of date.' version_test_comment: |- # If the exercise is updated, we want to make sure other people testing # your code don't think you've made a mistake if things have changed! example: |- sub hey { my ($text) = @_; return 'Fine. Be that way!' if $text =~ /^\s*$/; return 'Whoa, chill out!' if uc($text) eq $text and $text =~ /\p{Uppercase}/; return 'Sure.' if $text =~ /\?\s*$/; return 'Whatever.'; } stub: |- sub hey { my ($msg) = @_; # Remove the comments and write some code here to pass the test suite. } package_comment: "# Declare package 'Bob' with version"