# Create a hash of codes for substitution my %directSubs = ( qr/\[h(\d)\]/ => '', qr/\[\/h(\d)\]/=> '' ); # Substitute the codes while(($a,$b) = each %directSubs){ $line =~ s/$a/$b/gi; }