It’s just a typo:
19:13 >perl pod.pl
Useless use of a constant ("say") in void context at pod.pl line 6.
Useless use of single ref constructor in void context at pod.pl line 6
+.
Undefined subroutine &main::say called at pod.pl line 7.
19:39 >
Whereas with a comma instead of the semicolon:
19:39 >perl pod.pl
4
19:41 >perl -MO=Deparse pod.pl
Compiling pod.pl by macro::compiler/0.06 ...
sub Digest::base::clone;
sub Digest::base::new;
sub Digest::base::digest;
sub Digest::base::add;
use macro ('add', sub {
use warnings;
use strict;
$_[0] + $_[1];
}
, 'say', sub {
use warnings;
use strict;
print @_, "\n";
}
);
use warnings;
use strict;
print 4, "\n";
pod.pl syntax OK
19:41 >
Hope that helps,