>perl -wMstrict -le "{ package Foo; cluck('1st cluck in ', __PACKAGE__); } ; print 'in ', __PACKAGE__; ; { package Foo; if (0) { use Carp qw(cluck); } cluck('2nd cluck in ', __PACKAGE__); } ; print 'again in ', __PACKAGE__; cluck('clucking in ', __PACKAGE__) if defined &cluck; ; { package Foo; cluck('3rd cluck in ', __PACKAGE__); } " 1st cluck in Foo at -e line 1 in main 2nd cluck in Foo at -e line 1 again in main 3rd cluck in Foo at -e line 1