Alien::...gotiate(3)

πŸ’… Alien::Build::Plugin::Extract::Negotiate β€” the manual page bestie

okay so you're reading the Alien::Build::Plugin::Extract::Negotiate(3) page, from the User Contributed Perl Documentation section, and honestly? you came to the right place. this is the plugin that picks your unzip/un-tar situation for you so you don't have to. slay.


✨ NAME ✨

Alien::Build::Plugin::Extract::Negotiate β€” an Extraction negotiation plugin. it negotiates. it extracts. it does both. iconic behavior honestly πŸŽ€


🌸 VERSION 🌸

version 2.88 β€” yes she's got a number, yes she's proud of it πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

like, here's the vibe:

use alienfile;
plugin 'Extract' => (
  format => 'tar.gz',
);

that's it. that's the whole thing. you tell it the format, it handles the rest. periodt. ✨


πŸ‘‘ DESCRIPTION πŸ‘‘

okay so bestie, listen. this is a negotiator plugin for extracting packages you downloaded off the internet 🌈. the way it works is: this plugin goes and picks the best Extract plugin to do the actual work β€” like a friend who knows a guy who knows a guy, except the guy is a Perl module and the work is untarring stuff.

which plugins end up getting picked depends on:

  • the properties you specify,
  • your platform,
  • and your environment.

and ngl, it is usually preferable to use a negotiator plugin rather than hard-coding a specific Extract Plugin in your alienfile. let the negotiator negotiate. she's good at it. πŸ’…


πŸ“ PROPERTIES πŸ“

format

the expected format for the download πŸ“¦. possible values include:

  • "tar"
  • "tar.gz"
  • "tar.bz2"
  • "tar.xz"
  • "zip"
  • "d"

pick one, tell her, she'll sort you out. 🫢


🧚 METHODS 🧚

pick

my $name = Alien::Build::Plugin::Extract::Negotiate->pick($format);

returns the name of the best plugin for the given format ⭐. like a little matchmaker but for modules. no cap.


πŸ’œ SEE ALSO πŸ’œ

go read these too, they're all in the same friend group:

  • Alien::Build
  • alienfile
  • Alien::Build::MM
  • Alien

πŸ’€ AUTHOR πŸ’€

Author: Graham Ollis <plicease@cpan.org> πŸ‘‘

Contributors β€” aka the group chat, aka the whole squad, aka absolute legends:

  • 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)

twenty-six contributors?? that's not a plugin that's a movement. πŸ”₯


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.

fr fr, it's free, go wild, just keep the same terms as Perl 5 itself πŸ’–

and that's the whole page bestie!! this was rendered by perl v5.42.3 on 2026-09-21, and the source? User Contributed Perl Documentation. mwah. go extract something. πŸ¦‹βœ¨πŸ’…

πŸ“¦ where this page comes from