# File: Foo.pm
1; # keep require happy
package Foo;
sub hello {
print "Hello from Foo!\n";
}
__END__
####
# File: foo.pl
require Foo;
sub hello {
print "Hello from main!\n";
}
hello(); # prints "Hello from main!\n";
main::hello(); # prints "Hello from main!\n";
::hello(); # prints "Hello from main!\n";
Foo::hello(); # prints "Hello from Foo!\n";
__END__
##
##
# File: Foo.pm
1; # keep require happy
package Foo;
sub hello {
print "Hello from Foo!\n";
}
package Foo_Helper;
sub hello {
print "Hello from Foo_Helper!\n";
}
__END__
##
##
# File: foo.pl
require Foo;
sub hello {
print "Hello from main!\n";
}
hello(); # prints "Hello from main!\n";
Foo::hello(); # prints "Hello from Foo!\n";
Foo_Helper::hello(); # prints "Hello from Foo_Helper!\n";
__END__
##
##
require Foo_Helper;
##
##
Can't locate Foo_Helper.pm in @INC (@INC contains: /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 /usr/lib/perl5 /usr/share/perl5 /usr/local/lib/site_perl .) at foo.pl line 2.
##
##
# File: Foo.pm
1; # keep require happy
package Foo_Helper;
sub hello {
print "Hello from Foo_Helper!\n";
}
package Bar;
sub hello {
print "Hello from Bar!\n";
}
# Look, Ma! No Foo!
__END__
##
##
# File: foo.pl
require Foo;
sub hello {
print "Hello from main!\n";
}
hello(); # prints "Hello from main!\n";
Bar::hello(); # prints "Hello from Bar!\n";
Foo_Helper::hello(); # prints "Hello from Foo_Helper!\n";
__END__
##
##
# File: Foo.pm
1; # keep require happy
package Foo;
sub hello {
print "Hello from Foo!\n";
}
__END__
##
##
# File: More_Foo.pm
1; # keep require happy
package Foo;
sub hello_2 {
print "Still in Foo!\n";
}
__END__
##
##
# File: foo.pl
require Foo;
require More_Foo;
sub hello {
print "Hello from main!\n";
}
hello(); # prints "Hello from main!\n";
Foo::hello(); # prints "Hello from Foo!\n";
Foo::hello_2(); # prints "Still in Foo!\n";
__END__
##
##
require Foo;
require More_Foo;
##
##
Undefined subroutine &Foo::hello_2 called at foo.pl line 10.
##
##
# File: Foo.pm
require More_Foo;
1; # keep require happy
package Foo;
sub hello {
print "Hello from Foo!\n";
}