use strict; use warnings; use 5.010; sub AUTOLOAD { our $AUTOLOAD; say "A method named $AUTOLOAD was called."; return 10; } my $result = calculate(); say $result; --output:-- A method named main::calculate was called. 10 #### use strict; use warnings; use 5.010; sub AUTOLOAD { our $AUTOLOAD; my (undef, $greeting) = split '_', $AUTOLOAD; say $greeting; } say_goodbye(); say_hello(); --output:-- goodbye hello