#!/usr/bin/env perl -wl use strict; sub x { return "ex" } sub y { return "why" } print y( $foo ); print x( $foo ); #### #!/usr/bin/env perl -lw use strict; package Test; sub if { return "if($_[-1])" } sub log { return "log($_[-1])" } BEGIN { *main::if= \&if; *main::log= \&log; } my $foo= 1; $_= 'Oops!'; $|= 1; print if( $foo ); print Test->if( $foo ); print log( $foo ); print ''; package main; print if( $foo ); print main->if( $foo ); print log( $foo ); #### Ambiguous call resolved as CORE::log(), qualify as such or use & at - line 16. Oops! if(1) 0 Oops! if(1) log(1)