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

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 all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2018-03-19 06:06 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (232 votes). Check out past polls.