in reply to Regular expression double grouping negation headache
%defaults = map {/([^=]+)=(\S+)/?($1=>$2):()} @ARGV;
And, I would also simplify the left hand side to be:%defaults = map {/([^=]+)=(.*)/?($1=>$2):()} @ARGV;
And, actually, you can takes advantage of the fact that calling a regex in list context returns the submatches as a list and use:%defaults = map {/(.*?)=(.*)/?($1=>$2):()} @ARGV;
Hope this helps%defaults = map {(/(.*?)=(.*)/)} @ARGV;
|
---|
Replies are listed 'Best First'. | |
---|---|
Doesn't seem complete
by tlhf (Scribe) on Jun 29, 2002 at 16:21 UTC | |
by dreadpiratepeter (Priest) on Jun 29, 2002 at 22:21 UTC | |
by tlhf (Scribe) on Jun 30, 2002 at 22:48 UTC | |
by dreadpiratepeter (Priest) on Jun 30, 2002 at 23:08 UTC | |
by tlhf (Scribe) on Jun 30, 2002 at 23:32 UTC | |
by Aristotle (Chancellor) on Jun 29, 2002 at 22:20 UTC |