Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: Regex help needed

by JavaFan (Canon)
on Apr 23, 2012 at 11:10 UTC ( #966579=note: print w/replies, xml ) Need Help??

in reply to Regex help needed

I wouldn't bother with a regexp. I'd use split (technically, that uses a regexp as well):
my ($first, $last, $id) = split '%'; print "$last $first\n" if substr($id, 0, 1) eq 'A';

Replies are listed 'Best First'.
Re^2: Regex help needed
by BillKSmith (Vicar) on Apr 23, 2012 at 15:51 UTC
    "Technically" split requires a regular expression as its first argument. String patterns appear to be an undocumented extension.
      Huh, what are you talking about? Using strings as patterns is fine. Remember, this is Perl. If Perl expects a pattern somewhere, whatever you put there is a pattern. What you call an "undocumented" extension is nothing different from:
      $foo = "3"; $bar = 4 + $foo;
      or even:
      my $pattern = "foo|bar"; say "Match" if $str =~ $pattern;
      In my snippet, '%' is pattern by virtue of it being the first argument of split, not because of some "undocumented extension".

      Note also this snippet from the split documentation:

      As a special case, specifying a PATTERN of space (' ') will
      split on white space just as "split" with no arguments does.
      Note how the documentation talks about a pattern, while using quotes to delimit said pattern.
        But be careful, / / and ' ' are not the same thing for split:
        use feature 'say'; my $x = "a\tb\tc"; say for split ' ', $x; say for split / /, $x;
        your example
        my $pattern = "foo|bar"; say "Match" if $str =~ $pattern;
        is very convincing. - Sorry about that.
Re^2: Regex help needed
by ansh batra (Friar) on Apr 23, 2012 at 11:12 UTC

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://966579]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2017-12-17 12:39 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (464 votes). Check out past polls.