in reply to Re^3: Regex Doubt.
in thread Regex Doubt.

my $total_names = "Matthew,Thomas,Peter,Randy,George,Federick"; my $last_name = $1 if ($total_names =~ /(,[^,]+)$/ ); print "$last_name;

Thanks Monk.

Replies are listed 'Best First'.
Re^5: Regex Doubt.
by Athanasius (Archbishop) on Oct 16, 2012 at 03:40 UTC

    The error says:

    Can't find string terminator '"' anywhere before EOF

    and your code has:

    print "$last_name; # ^

    Nothing to do with the regex.

    Actually, the regex would be better not capturing the comma, and there is no need to quote the variable at all:

    my $total_names = "Matthew,Thomas,Peter,Randy,George,Federick"; $total_names =~ /,([^,]+)$/; print $1 if $1;

    or

    my $total_names = "Matthew,Thomas,Peter,Randy,George,Federick"; my ($last_name) = $total_names =~ /,([^,]+)$/; print $last_name if $last_name;

    Update: If your teacher does allow you to use split, you’ll get the last substring by subscripting with -1:

    my $last_name = ( split /,/, $total_names ) [ -1 ] ;

    (A [ 0 ] subscript gives you the first substring.)

    Hope that helps,

    Athanasius <°(((><contra mundum

Re^5: Regex Doubt.
by Anonymous Monk on Oct 16, 2012 at 03:42 UTC
    print "$last_name;
          ^----------^
          |          \--missing quote
    first quote