c:\@Work\Perl\monks>perl -wMstrict -le "sub names { print qq{@_}; } ;; my %dispatch; %dispatch = ( circular => sub { names('fu', 'bar'); sleep 1; $dispatch{circular}->(); }, straight => sub { names('a', 'ok'); }, ); ;; $dispatch{straight}->(); $dispatch{circular}->(); " a ok fu bar fu bar fu bar fu bar Terminating on signal SIGINT(2)