package Blah; {
sub foo {
print "bar!\n";
}
}
package main; {
foo();
}
####
c:\@Work\Perl\monks\R0b0t1>perl -le
"package Blah; {
sub foo {
print \"bar!\n\";
}
}
package main; {
foo();
}
"
Undefined subroutine &main::foo called at -e line 1.
c:\@Work\Perl\monks\R0b0t1>perl -le
"package Blah; {
sub foo {
print \"bar!\n\";
}
}
package main; {
Blah::foo();
}
"
bar!
####
{ package Foo;
my $x = ...;
...
sub bar { ... }
...
}
####
package Foo {
my $x = ...;
...
sub bar { ... }
...
}
####
c:\@Work\Perl\monks\R0b0t1>perl -wMstrict -le
"print 'perl version: ', $];
;;
in_pkg('A');
;;
package Foo {
::in_pkg('B');
}
;;
in_pkg('C');
;;
sub in_pkg { print qq{$_[0]: in package }, scalar caller; }
"
perl version: 5.014004
A: in package main
B: in package Foo
C: in package main