Alien::...rectory(3)

πŸ’– NAME πŸ’–

Alien::Build::Plugin::Extract::Directory β€” bestie, this is the plugin that takes a downloaded directory and mirrors it into a build directory. It's giving "move the whole vibe over, no zipping required" ✨


πŸŽ€ VERSION πŸŽ€

version 2.88 β€” yes, she's at 2.88, we stay updated πŸ’…


🌸 SYNOPSIS 🌸

use alienfile;
plugin 'Extract::Directory';

okay so that's literally all you need, so simple, so iconic πŸ¦‹


✨ DESCRIPTION ✨

So here's the tea β˜•: some Download or Fetch plugins don't hand you an archive file, they hand you a whole directory. Rude? No, valid, honestly. This plugin is the one that takes that directory from the Download step and mirrors it into a fresh directory during the Extract step. Like, "okay we got a folder, let's make a clean copy of that folder in the right place" 🫢

An example of when you'd reach for this: if you were using the git command in the Download step. Because git clones give you a whole directory hierarchy, not some neat little tarball. So yeah, that's the moment. That's the vibe check. πŸ‘‘


πŸ’œ PROPERTIES πŸ’œ

πŸ“ format

Should always be set to "d" (for directories). Like, that's the whole point. "d". Directory. Periodt. πŸ’€


πŸ”₯ METHODS πŸ”₯

πŸ’« handles

Alien::Build::Plugin::Extract::Directory->handles($ext);
$plugin->handles($ext);

Returns true if the plugin is able to handle the archive of the given format. And only returns true for "d" (for directory). Only. That one. She's loyal πŸ’–

πŸ’« available

Alien::Build::Plugin::Extract::Directory->available($ext);
$plugin->available($ext);

Returns true if the plugin can extract the given format with what is already installed. Basically: "can we do this with what we've got, no extra shopping trip?" πŸ›οΈ


🌈 SEE ALSO 🌈

  • Alien::Build::Plugin::Extract::Negotiate
  • Alien::Build::Plugin::Extract::File
  • Alien::Build
  • alienfile
  • Alien::Build::MM
  • Alien

the whole squad, honestly 🫢


πŸ‘‘ AUTHOR πŸ‘‘

Author: Graham Ollis <plicease@cpan.org>

Contributors β€” the group chat, the icons, the main characters:

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

not a single one skipped, we appreciate every last one of y'all πŸ’–βœ¨


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. free as in go off, do your thing 🌈


okay bestie that's the whole page, no cap, every detail intact πŸ’…

and that's a wrap from your girl β€” perl v5.42.3, dated 2026-09-21, mwah πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from