if( $foo ){ ... }
You cannot do this as the value returned may be 0 or the empty string both of which are not true:
perl -e 'use DBI;$h = DBI->connect("dbi:ODBC:xxx","xxx","xxx");eval {$ +h->do("drop table mje")};$h->do("create table mje (a int null)");$s = + $h->prepare("insert into mje values(?)");$s->execute(0);$s->execute( +undef);$r = $h->selectall_arrayref("select * from mje");foreach (@$r) +{print "$_->[0]\n" if $_->[0];}'
prints exactly nothing. You need to use defined. You may also find the following useful http://www.easysoft.com/developer/languages/perl/dbd_odbc_tutorial_part_2.html#nulls.
In reply to Re^3: String equality and undef
by mje
in thread String equality and undef
by joec_
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |