sub my_sprintf { return defined $_[1] ? sprintf @_ : 'MISSING'; } my %h = ( A => 1.23435 ); my $out = my_sprintf "%.3E", $h{A}; warn $out; $out = my_sprintf "%.3E", $h{B}; warn $out;