$ perl -wE 'use Data::Dump; my %h; dd \%h; $_ = "a_b_c"; $h{/a_(.*)_c/} = boom_$1; dd \%h' {} Can't call method "boom_" on an undefined value at -e line 1.