##
hash = (
a => ($b =~ /(\d+)/)[0] || 0,
b => ($b =~ /\d/ ? 1 : 0)
);
####
$ perl -wE 'sub f {say @_} 3 =~ /(\d)/; f $1'
3
$ perl -wE 'sub f {"1" =~ "1"; say @_} 3 =~ /(\d)/; f $1'
Use of uninitialized value $_[0] in say at -e line 1.
$ perl -wE 'sub f {"1" =~ "1"; say @_} 3 =~ /(\d)/; f "$1"'
3
$