$players{$1} = %skeleton_player;
You try to assign a hash to a scalar. A hash in scalar context will return a string that tells you something about the fill ratio of your hash. Try it out:
perl -e ' %h=(1,5,2,8); $d=%h; print $d;' #prints "2/8"
You want this instead:
%{$players{$1}} = %skeleton_player;
As you can see, now you are assigning a hash to a hash.
PS: It helps with debugging to print out values of variables even when you think you know what is in there. Very helpful for this is Data::Dumper. Try the following before and after your logging loop and see what your data looks like (you also have to add "use Data::Dumper" at the start of your script):
print Dumper(\%players),"\n";
Also very helpful to print out whatever gets matched in your logging loop, i.e. put this inside the match-success if-case:
print "I matched $1 and $2\n";
In reply to Re: Question regarding exact regexp matching
by jethro
in thread Question regarding exact regexp matching
by Ekimino
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |