PMINST(1p)

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

✨ 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 -l flag shows the full pathname β€” like the whole entire journey, not just the name πŸ›£οΈ
  • The -s flag separates the base directory from @INC from 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 original pmtools-1.00 (still available on CPAN), because pmtools-1.00 were 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