in reply to Parsing hash reference as argument for subroutine
You should use strict and warnings, it would have helped you avoid some trouble.
$matrix is not declared, you should have a my $matrix = {}; at the beginning of the function. This function does not return $matrix. But then again, there are three { block opener but only two } block ends, this doesn't even compile.
To see what's inside a nested data structure (like a hash of hashes), you can use Data::Dumper like this :
use Data::Dumper; #At the top of the file ... print Dumper $P;
And at last, you probably want to read perldsc
|
|---|