my $val; my $stmt = q{$val = (defined $ENV{HOST} ? $ENV{HOST} : 'sqlhost')}; eval $stmt; if ($@) { print $@, "\n"; } else { print $val, "\n"; } #### my ($r, $stmt); while ($stmt = ) { eval $stmt; print "$stmt\n"; if ($@) { print $@, "\n"; } else { print $r, "\n"; } } __DATA__ $r = (defined $ENV{HOST} ? $ENV{HOST} : 'sqlhost')