#!/usr/bin/perl -w use strict; # LEARN: weird -- the method has named parameters ... since v5.36 sub commits_for_month ($repo, $since, $until) { my $cmd = sprintf( q{git -C %s log --since="%s" --until="%s" --pretty=format:"%%s"}, $repo, $since, $until ); my @commits = `$cmd`; chomp @commits; return @commits; } 1; #### llegal character in prototype for main::commits_for_month : $repo, $since, $until at ./gitter.pl line 7. Global symbol "$repo" requires explicit package name (did you forget to declare "my $repo"?) at ./gitter.pl line 10. Global symbol "$since" requires explicit package name (did you forget to declare "my $since"?) at ./gitter.pl line 10. Global symbol "$until" requires explicit package name (did you forget to declare "my $until"?) at ./gitter.pl line 11. ./gitter.pl had compilation errors. #### This is perl 5, version 40, subversion 1 (v5.40.1) built for x86_64-linux-thread-multi ... #### use v5.36; #### perl -c ./gitter.pl ./gitter.pl syntax OK