in reply to uninitialised value in hash reference

Hi Maze,

I don't know which value is the unitialized one (mostly because you haven't shown any code besides the subroutine to give context), but I can give you a good clue as to how to find out.

Simply print out the variables for the line where the error is occurring.  If it's the last one, try something like:

printf "TFD> count is '%s'\n", $count; printf "TFD> path[count] is '%s'\n", $::path[$count]; printf "TFD> direntry[count] is '%s'\n", $::direntry[$count]; printf "TFD> FileLabel is '%s'\n", $::FileLabel; printf "TFD> DirLabel is '%s'\n", $::DirLabel;

For something like treeref which is more than a mere scalar value, you can use the module Data::Dumper, which is invaluable in these situations:

use Data::Dumper; printf "TFD> treeref => '%s'\n", Dumper(\$treeref);

That should tell you pretty quickly if you have an undefined value, and exactly which it is.

Update:  I should have mentioned that I use the string "TFD" to mean "Temporary - for debug".  It's an easy way to add debugging information that can later be searched for and removed.


s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/