Alien::...andLine(3)
π Alien::Build::Plugin::Probe::CommandLine β bestie edition π
okay so this is a page from the User Contributed Perl Documentation (section 3 of the manual, if you're keeping score), and it's literally all about a plugin that goes "heyβ¦ is this tool already on your system or not π".
β¨ NAME β¨
Alien::Build::Plugin::Probe::CommandLine β the plugin that probes for tools or commands that are already available on your system. no cap, that's the whole job.
πΈ VERSION πΈ
this is version 2.88. periodt.
π SYNOPSIS π
here's the vibe, in code:
use alienfile;
plugin 'Probe::CommandLine' => (
command => 'gzip',
args => [ '--version' ],
match => qr/gzip/,
version => qr/gzip ([0-9\.]+)/,
);
look at that. it's giving organised. π
π¦ DESCRIPTION π¦
okay so real talk: this plugin probes for the existence of the given command line program. that's it. that's the function. it peeks around your system like "do you have this command or not bestie" and reports back. iconic behaviour honestly.
π PROPERTIES π
π command
the name of the command. like, the actual thing you're looking for.
π args
the arguments to pass to the command. yes, plural, it's an array situation.
π secondary
okay this one's lowkey important so listen up π«Ά
if you're using another probe plugin (for example Alien::Build::Plugin::Probe::CBuilder or Alien::Build::Plugin::PkgConfig::Negotiate) to detect whether a library exists, but you also need a program to exist? then you should set secondary to a true value. because you need both, bestie. both.
here's the "I need both" example:
use alienfile;
# requires both liblzma library and xz program
plugin 'PkgConfig' => 'liblzma';
plugin 'Probe::CommandLine' => (
command => 'xz',
secondary => 1,
);
and here's the "I don't need both, I just need the command" situation:
use alienfile;
plugin 'Probe::CommandLine' => (
command => 'gzip',
secondary => 0, # default
);
so 0 is the default, in case you were wondering. now you're not wondering. you're welcome π
π match
regular expression that the program output should match. it's a vibe check for stdout.
π match_stderr
regular expression that the program standard error should match. same energy, but for stderr.
π version
regular expression to parse out the version from the program output. and listen β the regular expression should store the version number in $1. that's the deal. that's the assignment. don't forget the capture group or it's over for you π
π version_stderr
regular expression to parse out the version from the program standard error. and again, the regular expression should store the version number in $1. same rule, different stream. slay.
π atleast_version
the minimum required version as provided by the system. like, "you gotta be at least this version or we're not doing this". π
π SEE ALSO π
go read these next, they're all part of the family:
Alien::BuildalienfileAlien::Build::MMAlien
π AUTHOR π
Author: Graham Ollis <plicease@cpan.org>
and now the contributors, the whole squad, everybody who showed up, no one left out, fr fr:
- Diab Jerius (DJERIUS)
- Roy Storey (KIWIROY)
- Ilya Pavlov
- David Mertens (run4flat)
- Mark Nunberg (mordy, mnunberg)
- Christian Walde (Mithaldu)
- Brian Wightman (MidLifeXis)
- Zaki Mughal (zmughal)
- mohawk (mohawk2, ETJ)
- Vikas N Kumar (vikasnkumar)
- Flavio Poletti (polettix)
- Salvador FandiΓ±o (salva)
- Gianni Ceccarelli (dakkar)
- Pavel Shaydo (zwon, trinitum)
- Kang-min Liu (εεΊ·ζ°, gugod)
- Nicholas Shipp (nshp)
- Juan JuliΓ‘n Merelo GuervΓ³s (JJ)
- Joel Berger (JBERGER)
- Petr PΓsaΕ (ppisar)
- Lance Wicks (LANCEW)
- Ahmad Fatoum (a3f, ATHREEF)
- JosΓ© JoaquΓn Atria (JJATRIA)
- Duke Leto (LETO)
- Shoichi Kaji (SKAJI)
- Shawn Laffan (SLAFFAN)
- Paul Evans (leonerd, PEVANS)
- HΓ₯kon HΓ¦gland (hakonhagland, HAKONH)
- nick nauwelaerts (INPHOBIA)
- Florian Weimer
- Marcel Telka (mtelka)
π COPYRIGHT AND LICENSE π
this software is copyright (c) 2011-2022 by Graham Ollis.
this is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. so like, go forth, remix, redistribute, it's fine π«Ά
okay and that's the whole page bestie, you made it to the end, so here's the cute sign-off: this was perl v5.42.3, dated 2026-09-21, and yes the page title is a lil cursed with those dots in it (Alien::...andLine(3)) but that's just how the header truncates the real name Alien::Build::Plugin::Probe::CommandLine. iykyk. bye, ily, go probe something πβ¨π
π¦ where this page comes from
- fedora 43: perl-Alien-Build 2.88-1.fc43 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- fedora 44: perl-Alien-Build 2.88-1.fc44 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms