http://qs1969.pair.com?node_id=881549

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"; }