Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: split string using regex

by duff (Parson)
on Nov 08, 2007 at 14:51 UTC ( #649723=note: print w/replies, xml ) Need Help??


in reply to split string using regex

You have two sets of parentheses in your regular expression that are mutally exclusive. Perl is putting the contents of both $1 and $2 into your array. Since one of those will be undef, perl complains. Rewrite your RE such that there is only one set of parentheses or be sure to discard the undefs.

Update: here's one possibility:

#!/usr/bin/perl use strict; use warnings; my $inp = 'AAA * BBB CCC * * "2000 01 00 00 00" "2004 01 00 00 00"'; my @r = $inp =~ /("[^"]*"|\S+)/g; s/\A"(.*?)"\z/$1/ for @r; $, = "\n"; print @r, "\n";

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://649723]
help
Chatterbox?
[erix]: go to the bottom of this page: Seekers of Perl Wisdom
[karlgoethebier]: thao4: Si tout le reste échoue demande en francais ;-) There are some French speaking monks in the monastry...
[erix]: weird: a dev version perl (perl-5.27.9) is released, but git doesn't contain a perl-5.27.10 yet
[karlgoethebier]: ...not me ;-)

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (11)
As of 2018-02-21 10:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    When it is dark outside I am happiest to see ...














    Results (276 votes). Check out past polls.

    Notices?