PMINST(1p)
β¨ NAME β¨
pminst β bestie, this lil icon finds modules whose names match this pattern π
π¦ SYNOPSIS π¦
pminst [-s] [-l] [pattern]
π DESCRIPTION π
okay so here's the vibe πΈ
Run it with no arguments at all and it just shows you the names of all the installed modules. Like, every single one. A whole roster. π
Hand it a pattern tho and it'll show you all the module names that match it. Filtered. Curated. Main character energy only. β¨
Then there's the flags, and ngl they're lowkey the whole point:
- The
-lflag shows the full pathname β like the whole entire journey, not just the name π£οΈ - The
-sflag separates the base directory from@INCfrom the module portion itself β so you can see exactly where each module came from πΊοΈ
π EXAMPLES π
Let's get into it, because seeing it is believing fr fr π«
No args, no pattern, just vibes:
$ pminst
(lists all installed modules)
Gimme everything matching Carp:
$ pminst Carp
CGI::Carp
Carp
Now hit it with a regex, ^IO:: β anything starting with that:
$ pminst ^IO::
IO::Socket::INET
IO::Socket::UNIX
IO::Select
IO::Socket
IO::Poll
IO::Handle
IO::Pipe
IO::Seekable
IO::Dir
IO::File
And yes, case-insensitive matching is fully on the menu β (?i)io gets you every io in any casing:
$ pminst '(?i)io'
IO::Socket::INET
IO::Socket::UNIX
IO::Select
IO::Socket
IO::Poll
IO::Handle
IO::Pipe
IO::Seekable
IO::Dir
IO::File
IO
Pod::Functions
π the -s flag era π
The -s flag provides output with the directory separated by a space. Slay. Now you know where every single one lives π
$ pminst -s | sort +1
(lists all modules, sorted by name, but with where they
came from)
$ oldperl -S pminst -s IO
/usr/lib/perl5/i386-linux/5.00404 IO::File
/usr/lib/perl5/i386-linux/5.00404 IO::Handle
/usr/lib/perl5/i386-linux/5.00404 IO::Pipe
/usr/lib/perl5/i386-linux/5.00404 IO::Seekable
/usr/lib/perl5/i386-linux/5.00404 IO::Select
/usr/lib/perl5/i386-linux/5.00404 IO::Socket
/usr/lib/perl5/i386-linux/5.00404 IO
/usr/lib/perl5/site_perl LWP::IO
/usr/lib/perl5/site_perl LWP::TkIO
/usr/lib/perl5/site_perl Tk::HTML::IO
/usr/lib/perl5/site_perl Tk::IO
/usr/lib/perl5/site_perl IO::Stringy
/usr/lib/perl5/site_perl IO::Wrap
/usr/lib/perl5/site_perl IO::ScalarArray
/usr/lib/perl5/site_perl IO::Scalar
/usr/lib/perl5/site_perl IO::Lines
/usr/lib/perl5/site_perl IO::WrapTie
/usr/lib/perl5/site_perl IO::AtomicFile
π the -l flag era π
The -l flag gives full paths β the complete address, no crumbs left behind πΎ
$ filsperl -S pminst -l Thread
/usr/local/filsperl/lib/5.00554/i686-linux-thread/Thread/Queue.pm
/usr/local/filsperl/lib/5.00554/i686-linux-thread/Thread/Semaphore.pm
/usr/local/filsperl/lib/5.00554/i686-linux-thread/Thread/Signal.pm
/usr/local/filsperl/lib/5.00554/i686-linux-thread/Thread/Specific.pm
/usr/local/filsperl/lib/5.00554/i686-linux-thread/Thread.pm
π AUTHORS and COPYRIGHTS π
Giving credit where credit is due, always π«Ά
- Copyright (C) 1999 Tom Christiansen.
- Copyright (C) 2006-2014, 2018 Mark Leighton Fisher.
π LICENSE π
This is free software β you can redistribute it and/or modify it under the terms of either: (a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or (b) the Perl "Artistic License". (This is the Perl 5 licensing scheme.) π
β οΈ bestie, heads up, this is a change from the originalpmtools-1.00(still available on CPAN), becausepmtools-1.00were licensed only under the Perl "Artistic License". So if you're out here checking licenses, don't get it twisted π
and that's the whole page, no cap π
this was perl v5.36.0, dated 2022-10-14 β go forth and find your modules, bestie π¦β¨
π¦ where this page comes from
- ubuntu noble: pmtools 2.2.0-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu questing: pmtools 2.2.0-3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms