in reply to Declaring a code ref with arguments
Also, you want parens, not curly braces when assigning to a hash as curly braces will return a single element of an anonymous hash reference, whereas using parens will return a list (in this case) which will duely populate %hash. See. perlreftut and tye's References quick reference for more info.sub print_me { my $arg = shift || "Hello World!\n"; print $arg; } %hash = ( no_arg => \&print_me, with_arg => sub { print_me("Hello World, again!\n") }, ); $hash{no_arg}->(); $hash{with_arg}->(); __output__ Hello World! Hello World, again!
_________
broquaint
|
|---|