http://www.perlmonks.org?node_id=11112821

Aldebaran has asked for the wisdom of the Perl Monks concerning the following question:

Hello esteemed monks,

This thread is to be seen as a continuation of Using Cartons to automate module installs, where, instead of Cartons, we went with cpanfiles. I worked up a bash command that takes a module list and creates a cpanfile:

$ cat 1.list.cpan |perl -lpe "s{^}{requires '};s{$}{', 'undef';};" >cp +anfile $ cat cpanfile requires 'App::cpanminus', 'undef'; requires 'CPAN', 'undef'; requires 'CPAN::DistnameInfo', 'undef'; requires 'CPAN::Meta::Check', 'undef'; requires 'Log::Log4perl', 'undef'; requires 'Module::Runtime', 'undef'; requires 'PadWalker', 'undef'; requires 'Path::Tiny', 'undef'; requires 'Perl::Tidy', 'undef'; requires 'YAML', 'undef'; $

The outstanding question is how it would go down in the target environment, and I think the answer is "flawlessly:"

$ ./3.cpan_dir.sh mkdir: cannot create directory ‘logs’: File exists /home/gilligan/Documents/Documents/hogan mkdir: cannot create directory ‘cpan_file_dir7’: File exists /home/gilligan/Documents/Documents/hogan/cpan_file_dir7 requires 'App::cpanminus', 'undef'; requires 'CPAN', 'undef'; requires 'CPAN::DistnameInfo', 'undef'; requires 'CPAN::Meta::Check', 'undef'; requires 'Log::Log4perl', 'undef'; requires 'Module::Runtime', 'undef'; requires 'PadWalker', 'undef'; requires 'Path::Tiny', 'undef'; requires 'Perl::Tidy', 'undef'; requires 'YAML', 'undef'; [sudo] password for gilligan: --> Working on . Configuring /home/gilligan/Documents/Documents/hogan/cpan_file_dir7 .. +. OK ==> Found dependencies: Perl::Tidy, YAML, Path::Tiny, Log::Log4perl, C +PAN::DistnameInfo, CPAN::Meta::Check --> Working on Perl::Tidy Fetching http://www.cpan.org/authors/id/S/SH/SHANCOCK/Perl-Tidy-202001 +10.tar.gz ... OK ... Successfully installed CPAN-Meta-Check-0.014 <== Installed dependencies for .. Finishing. 11 distributions installed behold your output: App::cpanminus CPAN::DistnameInfo CPAN::Meta::Check Log::Log4perl Path::Tiny Perl Perl::Tidy Spiffy Test::Base Test::Deep Test::YAML Text::Diff YAML duration=298 Tue Feb 11 12:37:58 PST 2020 $

The "output" here is a bash wrapper around this:

#!/usr/bin/perl -w use 5.016; use ExtUtils::Installed; my $inst = ExtUtils::Installed->new(); my @modules = $inst->modules(); foreach my $module (@modules){ print $module . "\n"; } __END__

The modules I put in this list are ones I consider essential to having a usable perl capability. I might install them as a vanguard.

Q1) What might you add to a list of useful modules to have from the git-go? For example, what might be a good cpanfile to have to deal with universal time?

I would like to take this discussion in a different direction than usual, and I hope not to hit a third rail. As a person who has only used his computer skills "under the table," that is, in the cash economy for small gigs, I'm wondering what the job title is of a person who gets paid over the table to configure and maintain work stations for others in a company. Is it a systems administrator or a network adminstrator? Q2) Do you happen to be such a person who has had or is currently in such a post?

Q3) (Here's the one I'm really fishing for) What certifications does one need to be considered for such a post? I have an opportunity to get some continuing education, but I need to be specific about things I hope to achieve.

I hope the questions aren't too Ami-centric. Heck, let me also ask, Q4) Are these certifications the same around the world?

Thanks for your comment,