#! perl -slw use strict; sub AUTOLOAD { no strict 'refs'; our $AUTOLOAD; my $funcname = $AUTOLOAD; my $sub = *{ $AUTOLOAD } = sub { print "$funcname called with [@_]"; }; print "sub $AUTOLOAD autoloaded"; goto \&$sub; } fred( 1,2,3,4, 5 ); fred( 'a'..'d'); __END__ C:\test>autoload-t.pl sub main::fred autoloaded main::fred called with [1 2 3 4 5] main::fred called with [a b c d]