if (!open(my $fh, '<', $qfn)) { ... } print $fh $s; # XXX #### if (my ($y) = f($x)) { # Returns () on error. ... } print defined($y) ? $y : '[undef]'; # XXX #### my $fh; if (!open($fh, '<', $qfn)) { ... } #### my $y; if (($y) = f($x)) { # Returns () on error. ... } #### my $success = open(my $fh, '<', $qfn); if (!$success) { ... } #### my $success = my ($y) = f($x); # Returns () on error. if (!$success) { ... } #### open(my $fh, '<', $qfn) or do { ... }; #### my ($y) = f($x) # Returns () on error. or do { ... };