CUFP
ybiC
snippet
<div class="Description">My background isn't programming, so to most Monks this snippet is likely incredibly rudimentary. Nonetheless, after ~2 years dabbling with Perl <i>(mostly regex logfile analysis and non-DB, HTML-generating-CGI)</i>, I was recently forced to actually learn how to implement arrays and hashes in a script. Here's how I got my brain to begin grasping them:
<br> <br>
<i>p.s. I think the Debian stable version of Perl (5.00404) is keeping me from doing insertion order retrieval.</i>
<p>
<b>Update: </b> added Tie::IxHash for insertion-order retrieval Jan 3, 2001</div>
<code>#!/usr/bin/perl -w
# notclever.pl
# Rudimentary examples of array, hash, tied hash
# Updated using Komodo beta 1.0.0 build 12686 on Win2k
# Tested: Perl 5.00503 on Debian
# ActivePerl 5.006 on Win2k
use strict;
use Tie::IxHash;
print "\nPASSEL O' PRINTS";
print "\n 1 script : $0";
print "\n 2 executable : $^X $]";
print "\n 3 host OS : $^O";
print "\n 4 start time : $^T";
print "\n";
print "\nARRAY+FOREACH";
my @varlist = (
"\n 1 script : $0",
"\n 2 executable : $^X $]",
"\n 3 host OS : $^O",
"\n 4 start time : $^T",
);
foreach (@varlist) {
print;
}
print "\n";
print "\nHASH+WHILE";
my %varhash = (
' 1 script' => "$0" ,
' 2 executable' => "$^X $]" ,
' 3 hostOS' => "$^O" ,
' 4 starttime' => "$^T" ,
);
while((my $key, my $value) = each(%varhash)) {
print "\n", $key, " is ", $value;
}
print "\n";
print "\nTIED HASH+FOR";
tie my %tiedhash, "Tie::IxHash";
%tiedhash = (
' script' => "$0" ,
' executable' => "$^X $]" ,
' hostOS' => "$^O" ,
' starttime' => "$^T" ,
);
for my $key (keys %tiedhash) {
print "\n", $key, " is ", $tiedhash{$key};
}
print "\n";
</code>