Maybe the line number in the error message is wrong. That happens (particularly when the error is in an elsif). If defined($data{'FLOATER'}) is true as you say, it makes no sense for the if to give you that warning.
Update: Additionally, you're probably better off passing the hash by reference. It saves memory, executes faster and preserves tie magic. For example:
sub test { my ($data) = @_; ... print($data->{'FLOATER'}); # Need to add "->" ... } my %data = ...; test(\%data);
In reply to Re: Confusing Uninitialized warning
by ikegami
in thread Confusing Uninitialized warning
by spencerogden
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |