ahg010 has asked for the wisdom of the Perl Monks concerning the following question:
Sorry for this vague question but I am new to perl and I have the following code. For simplicity, I wrote the first part that defines the hash variable profile. Now the perl program following the foreach does not make sense to me and since it has a bug, I can not run it. Any idea what the code is doing and if possible how to fix the bug. My guess is in the first loop, it reads all ARGV params, Capitalize and sort them, in the second foreach loop, it searches for this new transformed params in the profile hash table keys, then I have no idea what happens.
my %profile = ('MARTIN' => 28, 'SHARON' => 35, 'RIKKIE' => 29,); foreach $item @ARGV { @otherpatProf = map{ uc } /[[:alpha:]]/g; $other_pat = join '(.*)', sort @otherpatProf; print "***$_\n"; foreach (grep{ /.*$other_pat.*/ } keys %profile) { $smprofile = join "", /(.*)$other_pat(.*)/g; next unless $profile{$smprofile}; print "$profile{$_} $profile{$smprofile}\n"; } }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Interpreting the code
by AnomalousMonk (Archbishop) on Jun 26, 2013 at 01:36 UTC | |
Re: Interpreting the code
by LanX (Saint) on Jun 26, 2013 at 01:17 UTC | |
Re: Interpreting the code
by 5mi11er (Deacon) on Jun 26, 2013 at 15:44 UTC |