When Perl tries to call an undefined function in a particular package and that function is not defined, it looks for a function in that same package called AUTOLOAD. If one exists, it's called with the same arguments as the original function would have had. #### #!/usr/local/bin/perl -w use strict; my $code = <## % foo.pl in foo