mmittiga17 has asked for the wisdom of the Perl Monks concerning the following question:
I have a file I need to parse that contains multiple lines for an account number. I want to print out just the first occurrence for each account number. I stink at using Hash Keys and values. What I am getting is the last occurrence of each account in the file. Any help would be great. example: 1234,ladjfljadflajdkfalkjdfladjf 1234,ouoquldjljadfjodjfladfljdfljaljf 1234,oueuodlcmcmdldjtljfjldjfljdfljldjf 1234,ladjfljadflajdkfalkjdfladjf 5678,aldkjfldajfljadfljdalfjladjwerwer 5678,uulkdjfljdfljdalfjaiieieieiiwpppp Just want to print out 1234,ladjfljadflajdkfalkjdfladjf 1234,ladjfljadflajdkfalkjdfladjf
@ACCTS = ("1234", "5678", "6959"); open(IN,"InFile.txt"); %acct=""; while (defined($line = (<IN>))){ foreach $x (@ACCTS) { if ($line =~/$x/){ $acct{$x} = ($x,$line); } } } foreach $key (sort keys %acct){ print "$acct{$key}\n"; }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Hash Question
by tj_thompson (Monk) on Jan 10, 2011 at 22:17 UTC | |
Re: Hash Question
by ELISHEVA (Prior) on Jan 10, 2011 at 22:14 UTC | |
Re: Hash Question
by state-o-dis-array (Hermit) on Jan 10, 2011 at 22:23 UTC | |
by AnomalousMonk (Archbishop) on Jan 10, 2011 at 23:18 UTC | |
by mmittiga17 (Scribe) on Jan 11, 2011 at 19:33 UTC |
Back to
Seekers of Perl Wisdom