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,
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.