Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re^3: Regex Doubt.

by Anonymous Monk
on Oct 16, 2012 at 03:18 UTC ( #999207=note: print w/replies, xml ) Need Help??

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

I have no permission to do it with split.

Sure you do

The Regex way (=~ /(,^,+)$/) is giving me an error like the below,

Not possible. If you want help, show your code.

Replies are listed 'Best First'.
Re^4: Regex Doubt.
by Anonymous Monk on Oct 16, 2012 at 03:21 UTC
    my $total_names = "Matthew,Thomas,Peter,Randy,George,Federick"; my $last_name = $1 if ($total_names =~ /(,[^,]+)$/ ); print "$last_name;

    Thanks Monk.

      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;


      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

      print "$last_name;
            |          \--missing quote
      first quote

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://999207]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (10)
As of 2016-10-26 19:27 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (346 votes). Check out past polls.