Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: csv'ish string with parens that include commas

by james2vegas (Chaplain)
on Dec 05, 2010 at 03:57 UTC ( #875454=note: print w/replies, xml ) Need Help??

in reply to csv'ish string with parens that include commas

Use Regexp::Common::list, something like this (presuming your strings and all word characters):
use Regexp::Common 'list'; my $re = qr{ \w+ # word characters (word or function name) (?:\($RE{list}{-pat=>'\w+'}\))? # (optional parameters) }x; my $x = 'joe,sam,x(monkey,lemur)'; my @x = ($x =~ m{$re}g); print join("\n", @x);
joe sam x(monkey,lemur)

Replies are listed 'Best First'.
Re^2: csv'ish string with parens that include commas
by ascetic (Novice) on Dec 05, 2010 at 04:07 UTC

    Thanks. Actually, some of the args will be numbers, but I should be able to take it from here.

    I also looked at using Text::Balanced for a bit, but it seemed like using a hammer to drive a screw.

      \w matches letters, digts and underscore, so that should be sufficient.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2016-10-22 07:07 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (292 votes). Check out past polls.