#... # alt1: match only, leave $var unmodified: my $var = "sclerosing 1954, 5–7, 54, 59f-60d, 90, 114"; if ( $var =~ /^[^,]+,\s*(.+?)\s*$/ ) { print "Match: ==>$1<==\n"; # ==>5–7, 54, 59f-60d, 90, 114<== } # alt2: add markup, substitute $var2: my $var2 = "sclerosing 1954, 5–7, 54, 59f-60d, 90, 114"; if ( $var2 =~ s{^([^,]+,\s*)(.+?)(\s*)$}{$1$2$3} ) { print "Markup: ==>$var2<==\n"; # ==>sclerosing 1954, 5–7, 54, 59f-60d, 90, 114<== } #...