Acme-CPANModules-MagicVariableTechnique
view release on metacpan or search on metacpan
NAME
Acme::CPANModules::MagicVariableTechnique - List of modules which employ
magic variable technique to do stuffs
VERSION
This document describes version 0.002 of
Acme::CPANModules::MagicVariableTechnique (from Perl distribution
Acme-CPANModules-MagicVariableTechnique), released on 2023-10-29.
DESCRIPTION
This is a list of modules which provide some "magic" variable which you
can get/set to perform stuffs. I personally find this technique is
mostly useful to "temporarily set" stuffs, by combining it with Perl's
local().
ACME::CPANMODULES ENTRIES
File::chdir
Author: DAGOLDEN <https://metacpan.org/author/DAGOLDEN>
Provides $CWD which you can use to change directory. By doing:
local $CWD = ...;
in a subroutine or block, you can safely change directory
temporarily without messing current directory and breaking code in
other parts. Very handy and convenient.
This is the first module I found/use where I realized the technique.
Since then I've been looking for other modules using similar
technique, and have even created a few myself.
File::umask
Author: SHARYANTO <https://metacpan.org/author/SHARYANTO>
Provides $UMASK to get/set umask.
Umask::Local
Author: ROUZIER <https://metacpan.org/author/ROUZIER>
Like File::umask, but instead of using a tied variable, uses an
object with its "DESTROY" method restoring original umask. I find
the interface a bit more awkward.
Alternate modules: File::umask
Locale::Tie
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
Provides $LANG, $LC_ALL, $LC_TIME, and few others to let you
(temporarily) set locale settings.
Locale::Scope
Author: KARUPA <https://metacpan.org/author/KARUPA>
Like Locale::Tie, but instead of using a tied variable, uses an
object with its "DESTROY" method restoring original settings.
FAQ
What is an Acme::CPANModules::* module?
An Acme::CPANModules::* module, like this module, contains just a list
of module names that share a common characteristics. It is a way to
categorize modules and document CPAN. See Acme::CPANModules for more
details.
What are ways to use this Acme::CPANModules module?
Aside from reading this Acme::CPANModules module's POD documentation,
you can install all the listed modules (entries) using cpanm-cpanmodules
script (from App::cpanm::cpanmodules distribution):
% cpanm-cpanmodules -n MagicVariableTechnique
Alternatively you can use the cpanmodules CLI (from App::cpanmodules
distribution):
% cpanmodules ls-entries MagicVariableTechnique | cpanm -n
or Acme::CM::Get:
% perl -MAcme::CM::Get=MagicVariableTechnique -E'say $_->{module} for @{ $LIST->{entries} }' | cpanm -n
or directly:
% perl -MAcme::CPANModules::MagicVariableTechnique -E'say $_->{module} for @{ $Acme::CPANModules::MagicVariableTechnique::LIST->{entries} }' | cpanm -n
( run in 0.431 second using v1.01-cache-2.11-cpan-39bf76dae61 )