Shouldn't you only set the values of the array once you have gone through the entire file? Otherwise You keep rewriting your hash.
%linehash = @line; "The right word may be effective, but no word was ever as effective as a rightly timed pause." --Mark Twain Stuart White <[EMAIL PROTECTED] To: [EMAIL PROTECTED] m> cc: Subject: Re: arrays and hashes 06/02/2003 05:12 PM Hmm, this might actually be more productive I showed less abstract example lines. (I couldn't do this before as I didn't have the code in front of me.) Here is an example of the lines that my code is selecting and then extracting a player name and jump shot attempt(working on this part) then putting into an array. If I were to print out the array with each element on a separate line(assuming I had the count thing working) this is what it would look like(below the sample text) (11:23) [SAN 2-0] Bowen Jump Shot: Made (2 PTS) (11:10) [PHX] Marbury Jump Shot: Missed (11:07) [PHX] Marion Jump Shot: Missed (10:51) [SAN 4-0] Jackson Jump Shot: Made (2 PTS) (10:23) [SAN] Jackson Jump Shot: Missed (9:43) [SAN] Duncan Jump Shot: Missed (8:43) [SAN] Bowen Jump Shot: Missed (8:31) [PHX] Stoudemire Jump Shot: Missed (8:09) [SAN] Jackson Jump Shot: Missed (7:42) [PHX] Hardaway Jump Shot: Missed (7:09) [PHX] Stoudemire Jump Shot: Missed (6:50) [SAN] Bowen Jump Shot: Missed (6:15) [SAN 10-2] Duncan Jump Shot: Made (4 PTS) (5:52) [PHX] Williams Jump Shot: Missed (5:46) [PHX 5-10] Marion Jump Shot: Made (5 PTS) (5:06) [SAN 12-7] Ginobili Jump Shot: Made (2 PTS) Bowen 1 Marbury 1 Marion 1 Jackson 1 Jackson 2 Duncan 1 Bowen 2 Stoudemire 1 Jackson 3 Hardaway 1 Stoudemire 2 Bowen 3 Duncan 2 Williams 1 Marion 2 Ginobili 1 Right now my array is just like that, minus the numbers. So what I want to do is assign the array to a hash. If I were to do that, my understanding is that the names would be keys and the numbers values, and doing such an assignment in a loop would cause some entries to be overwritten. As soon as "Bowen 2" shows up as an array element, "Bowen 1" is overwritten. This is what I want it to do. Using the array output above, this is what I would expect to happen upon the array being assigned to the hash and the hash being printed out: Marbury 1 Jackson 3 Hardaway 1 Stoudemire 2 Bowen 3 Duncan 2 Williams 1 Marion 2 Ginobili 1 How can I assign my array to a hash, have an individual counter for each player every time he attempts a Jump Shot, and then have output from my hash like shown above? Oh, presently, my code is printing the name, which is the key, and then a colon, and then another name, ofwhich I'm not sure is coming from. It also is printing this error message: "Use of uninitialized value in concatenation (.) or string at statsll.pl line 24, <STATS. line 507" line 24 is this line: print "$key:$value\n"; I don't know what this all means. code is below Thanks in advance. -stu Oh, and James, thanks for your help, but I don't think I was as clear as I should have been. #!/usr/bin/perl use warnings; use strict; open(STATS, "stats.txt") or die "statfile\n"; my $key; my $value; my %linehash; my @line; my $player; my $num = 0; while (<STATS>) { if ($_ =~ /(\w+\b) (Jump Shot)/) { $player = $1; push(@line, $player); %linehash = @line; $num++; } while (($key,$value) = each(%linehash)) { print "$key:$value\n"; } } print "@line"; __________________________________ Do you Yahoo!? Yahoo! Calendar - Free online calendar with sync to Outlook(TM). http://calendar.yahoo.com -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ------------------------------------------------------------------------ The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]