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"; } }
In reply to Interpreting the code by ahg010
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |