note
blazar
<BLOCKQUOTE><I>This is a question prompted by What modules are we actually using?. I was wondering if there is some core Perl module which has to be loaded, when <STRONG>it</STRONG> loads another module thru use or require? My idea would be to temporarily modify that module, to print to a log file.</I></BLOCKQUOTE>
What does that "it" refer to? Perl? If so, then I don't think so. Otherwise, unless I'm severely mistaken, I don't think so either.
<P>However if all you want is to {know,log} which modules get loaded, then you can easily spot the possibility to put code into <CODE>@INC</CODE> to do so. E.g.:
<CODE>
#!/usr/bin/perl -l
use strict;
use warnings;
END {
my @stuff;
sub record {
push @stuff, $_[1];
undef;
}
print for @stuff;
}
use lib \&record;
use File::Find;
no lib \&record;
# Do something else, I suppose!
__END__
</CODE>
For the record this had come up in <A HREF="news:comp.lang.perl.misc">clpmisc</A> and this kind of solution was suggested by Anno Siegel, who is a precious contributor there. As time permits I'll try to locate the original post.
452289
452289