>perl -wMstrict -le "sub sum ($$); ;; my $codes = { 'SOFT' => 'sum', 'HARD' => \&sum, }; ;; $codes->{HARD}->('HARD', 1, 2, 3, 4); ;; { no strict 'refs'; $codes->{SOFT}->('SOFT', 9, 8, 7, 6); } ;; sub sum ($$) { print qq{(@_) arguments: }, scalar @_; } " (HARD 1 2 3 4) arguments: 5 (SOFT 9 8 7 6) arguments: 5