Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Are there CPAN modules that can help write realtime software catalogs

by Corion (Patriarch)
on Jun 06, 2023 at 20:58 UTC ( #11152666=note: print w/replies, xml ) Need Help??


in reply to Are there CPAN modules that can help write realtime software catalogs

I would put a subroutine into @INC that simply logs all the filenames/module names that get loaded, likely into a text file named after $0 (the currently running program). I'd use a text file to avoid any hassle with the database, just for the case when it is unavailable.

If you can set up $ENV{PERL5OPT} for every user, you can install the hook for every user:

package LogLoadedModules; use strict; sub log_loaded_module { my( $self, $file_to_load ) = @_; write_to_log_file( $0, $file_to_load ); return; # we didn't find anything } # Automatically install the hook in @INC when this # module is loaded sub import { unshift @INC, \&log_loaded_module; } 1;

Then you can set up @INC for every user by having

export PERL5OPT=-MLogLoadedModules

Update: Fixed unshift line, as corrected by Perlbotics

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11152666]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (3)
As of 2023-12-10 07:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?











    Results (38 votes). Check out past polls.

    Notices?