Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: split string using regex

by duff (Vicar)
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?
[1nickt]: Discipulus Yes, I think it is maybe easier to be a good monk in "real" life when you are young and idealistic or old and weary ... nost so much in middle age.
[1nickt]: 😲 ... or did you mean the Middle Ages, when monastic life was more, umm, "earthy" ?!

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (9)
As of 2017-12-13 14:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What programming language do you hate the most?




















    Results (368 votes). Check out past polls.

    Notices?