PLXLOAD(1p)

πŸ“¦
version 2.2.0 Β· 4 versions
, in ubuntu noble, ubuntu questing

πŸ’– PLXLOAD πŸ’–

okay bestie, welcome to plxload β€” it's a lil Perl utility from the User Contributed Perl Documentation section of the perl manual (yes, that's the whole manual family it lives in 🫢), and it does one extremely specific thing: it shows you what files a perl program loads at compile time. that's it. that's the whole personality. and honestly? iconic.


✨ NAME ✨

plxload β€” show what files a perl program loads at compile time 🌸


πŸ¦‹ SYNOPSYS πŸ¦‹

$ plxload

(yes it's spelled "SYNOPSYS" in the original, no i'm not fixing it, it's canon πŸ’…)


πŸ’« DESCRIPTION πŸ’«

okay so here's the tea β˜• β€” this program shows you what modules a program would load at compile time via use. that's the whole mission statement bestie.

and here's the how, because it's lowkey unhinged: it installs an at-exit handler and then uses Perl's -c flag for compile only. that combo is what makes the magic happen ✨.

🚨 but listen β€” because it's compile-only, it will not find modules loaded at run-time. not a bug, just the vibe. if you need run-time stuff, go use the Devel::Loaded module for that, fr fr.

πŸ”₯ EXAMPLES πŸ”₯

first up, running it on perldoc:

$ plxload perldoc
/usr/local/devperl/lib/5.00554/Exporter.pm
/usr/local/devperl/lib/5.00554/strict.pm
/usr/local/devperl/lib/5.00554/vars.pm
/usr/local/devperl/lib/5.00554/i686-linux/Config.pm
/usr/local/devperl/lib/5.00554/Getopt/Std.pm

and now on a full path, because it eats those too:

$ plxload /usr/src/perl5.005_54/installhtml
/usr/local/devperl/lib/5.00554/Carp.pm
/usr/local/devperl/lib/5.00554/Exporter.pm
/usr/local/devperl/lib/5.00554/auto/Getopt/Long/autosplit.ix
/usr/local/devperl/lib/5.00554/strict.pm
/usr/local/devperl/lib/5.00554/vars.pm
/usr/local/devperl/lib/5.00554/Pod/Functions.pm
/usr/local/devperl/lib/5.00554/Getopt/Long.pm
/usr/local/devperl/lib/5.00554/i686-linux/Config.pm
/usr/local/devperl/lib/5.00554/lib.pm
/home/tchrist/perllib/Pod/Html.pm
/usr/local/devperl/lib/5.00554/Cwd.pm
/usr/local/devperl/lib/5.00554/AutoLoader.pm

look at all those .pm files just lining up for you 😭 she ate and left no crumbs πŸ’…


πŸ‘€ SEE ALSO πŸ‘€

  • Devel::Loaded β€” for the run-time-loaded modules, since plxload won't catch those
  • pmload(1) β€” its sibling in crime 🫢

πŸ‘‘ AUTHORS and COPYRIGHTS πŸ‘‘

Copyright (C) 1999 Tom Christiansen.

Copyright (C) 2006-2014 Mark Leighton Fisher.


πŸ“œ LICENSE πŸ“œ

okay so this is free software; you can redistribute it and/or modify it under the terms of either:

  1. the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or
  2. the Perl "Artistic License".

(this whole thing is the Perl 5 licensing scheme, iykyk)

🫣 heads up bestie β€” please note this is a change from the original pmtools-1.00 (still available on CPAN), because pmtools-1.00 was licensed only under the Perl "Artistic License". so if you're digging through old licensing paperwork, that's why it looks different. periodt.

and that's the whole page, bestie!! this lil cutie ships as part of perl v5.36.0 and was last touched on 2022-10-14 β€” go forth and plxload responsibly, love u, bye πŸŽ€πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from