Why would you want to replace undef values (which correspond to NULL-values in the database) with the string "null" anyway? That can change the datatype of the column (since numeric columns can also contain NULL values, which you change to a text datatype).
To answer your question, if you use
$sth->bind_columns(\$var1, \$var2, \$var3);
You'd have to check all vars to see if they're undef after fetching data and act accordingly.
This method might make things simpler:
@list_of_refs_to_vars_to_bind = (\$var1, \$var2, \$var3);
$sth->bind_columns(@list_of_refs_to_vars_to_bind);
Now you can use
map { $$_ = "null" if (!defined $$_); } @list_of_refs_to_vars_to_bind;
to do your evil thing. |