#!/usr/bin/perl
# file.pm
use strict;
our ($baz, $quux);
sub blorf;
$quux = sub { 3 };
sub foo { 1 }
sub bar { 2 }
####
#!/usr/bin/perl
# main script
use strict;
{
package Query;
require "file.pm";
}
print "in package ", __PACKAGE__, $/;
for my $sym ( keys %Query:: ) {
no strict 'refs';
print "file.pm: $sym\n" if defined *{'Query::'.$sym}{CODE};
print "file.pm: subref \$$sym\n" if ref ${*{'Query::'.$sym}{SCALAR}} eq 'CODE';
}
####
in package main
file.pm: sub bar
file.pm: subref $quux
file.pm: sub blorf
file.pm: sub foo