File::...Install(3pm)

πŸ“¦ version 0.07, in ubuntu resolute, ubuntu stonking

πŸ’– File::ShareDir::Dist::Install πŸ’–

okay bestie, welcome to the manual page for File::ShareDir::Dist::Install β€” a User Contributed Perl Documentation page, section 3pm. yes the title looks like it got cut off with ellipses, that's just how the page is named, don't panic πŸ’…

✨ NAME ✨

File::ShareDir::Dist::Install β€” Install per-dist shared files πŸŽ€

🌸 VERSION 🌸

version 0.07 β€” that's the vibe, that's the era, no cap.

πŸ¦‹ SYNOPSIS πŸ¦‹

use File::ShareDir::Dist;
install_config_set 'Foo-Bar-Baz' => {
  key1 => 'value1';
  key2 => 'value2';
};

like, that's it. that's the whole flex. ✨


πŸ’œ DESCRIPTION πŸ’œ

so this module is File::ShareDir::Dist's install-time companion. it shows up when the dist is being installed and it's like "hey, let me handle the shared files real quick" 🫢

here's the tea though: unlike File::ShareDir::Install, this one does not integrate with EUMM out of the box. and honestly? that might be a feature. it might be a bug. it depends entirely on your point of view, bestie β€” the original text literally says so, so I'm not even editorializing 😭

what it does give you is a simple interface for getting and setting the dist configuration at install time. and the dist config? it's just a config.pl sitting in the share directory that contains a hash that can be read at runtime. that's the whole thing. iconic behavior. πŸ‘‘


πŸ”₯ FUNCTIONS πŸ”₯

πŸ’« install_dir

my $dir = install_dir $dist_name;

returns the directory for the share dir at install time. and what does that path look like? it'll be of the form:

blib/lib/auto/share/dist/...

so like, that's where the magic lives during install. 🧚

πŸ’« install

install $source_dir, $dist_name;
% perl -MFile::ShareDir::Dist= -e install $source_dir $dist_name

installs the given source directory into the dist share dir, which is named by $dist_name. and the slay part? you can call it from Perl or at the command-line, exactly like the second line shows. your choice, main character. πŸ’…

πŸ’« install_config_get

my $config = install_config_get $dist_name;

gets the config for the dist. that's it. that's the function. short, sweet, obsessed. πŸ“

πŸ’« install_config_set

install_config_set $dist_name, $config;
install_config_set $dist_name, $key => $value;
% perl -MFile::ShareDir::Dist= -e install_config_set $dist_name $key $value

sets the config for the dist. and here's where you gotta pay attention because there are two modes and they are NOT the same vibe:

  • pass a hash and it REPLACES the existing config. like, gone. replaced. capital letters in the original, so you know it's serious. πŸ’€
  • pass a key/value pair and it just adds to the config. much gentler. much more chill. 🫢

and yes, you can also run it at the command-line exactly as shown above. flex. ✨


πŸ‘‘ AUTHOR πŸ‘‘

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

Contributors:

  • Yanick Champoux (yanick) 🌈

This software is copyright (c) 2017,2018 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 and redistribute, bestie, it's literally free πŸ¦‹


okay that's the whole page!! every flag, every function, every example, preserved with love and zero skipped details πŸ’…βœ¨

and for the cute sign-off: this was served up by perl v5.40.1, dated 2025-11-21, straight from the File::...Install(3pm) page itself. byeeee, go install some shared files πŸ«ΆπŸ’–πŸŒΈ

πŸ“¦ where this page comes from