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

Dear All,

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

    ahg010: Someone is playing a practical joke on you — or you on us. ++What LanX said: as it stands, the code is meaningless (although the  %profile hash is defined correctly).

Re: Interpreting the code
by LanX (Saint) on Jun 26, 2013 at 01:17 UTC
    You want us to fix a program that can't possibly run and w/o telling what it is supposed to do?

    There are a bunch of logical ( where does $_ come from ?) and syntax problems (foreach loop,...?) and I don't know where to start!

    And sorry, no motivation to spend time on a Rorschach test.

    UPDATE

    With some archaeological fantasy:

    It seems someone wanted to filter %profile according to a regex constructed from the commandline arguments. But what was the input?

    Either this program never worked or someone started widely experimenting around with c&p-code from the inet and w/o testing what he does.

    My recommendation is to delete this junk, nobody will miss it!

    Cheers Rolf

    ( addicted to the Perl Programming Language)

Re: Interpreting the code
by 5mi11er (Deacon) on Jun 26, 2013 at 15:44 UTC
    If you're a beginning perl student, I agree with the others above, this is not the code to start with.

    -Scott