http://qs321.pair.com?node_id=452293


in reply to Is there a module which Perl has to load when using any module?

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 it loads another module thru use or require? My idea would be to temporarily modify that module, to print to a log file.
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.

However if all you want is to {know,log} which modules get loaded, then you can easily spot the possibility to put code into @INC to do so. E.g.:

#!/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__
For the record this had come up in clpmisc 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.