At 02:08 2002.04.10, you wrote:
>Hey all,
>
>I have created a hash that looks similar to the following...
>
>%hash (
> 'test1' => $test1,
> 'test2' => $test2,
> 'test3' => $test3,
>);
>
>Now is it possible to have a little piece of code check the values of
>that hash and see if their are any blank fields?
>
>Something like...
>
>if ($hash($_) eq "" || $hash($_) == ""}
> print "These hash keys $hash($_) did not contain any data!\n";
>} else {
> print "It worked!";
>}
>
>Regards,
>
>Dan
Hashes use the {}, not the ().
$hash{$_} == "" is not right. == is for numerical comparaison so perl automagicaly
transform each side to a number before resolving the ==.
This means that "a" == "b" returns true and "This is a value" == "" also returns true.
Not what you want I beleive.
Your first test ($hash{$_} eq "") should work like you intend it.
You can be lazy and test like this
if($hash{$_}) then { print "There is a value\n" }
if you know in advance that none of your value can be the number or the string "0".
Hope this helps.
----------------------------------------------------------
�ric Beaudoin <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]