in reply to Question: Capturing a repeated pattern
Probably I do not know your specific problem, but your regex seems to be an overkill, a simple split is not sufficient for you?
my $str = 'somename 1000 0.24 280 2 2576.9 2731.9 12.0 4195.3' +; my @array = split /\s+/, $str;
update: It seems to me you have two goals: to verify the format of your input and to split it to fields. I think it is much more readable in two separate steps:
die "invalid input format: '$str'" if $str !~ / \A [a-z]\w* (?: \s+ [\d.]+ ){8} \z /ixo; my @array = split /\s+/, $str;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Question: Capturing a repeated pattern
by robmderrick (Initiate) on Apr 08, 2010 at 22:19 UTC | |
by BrowserUk (Patriarch) on Apr 08, 2010 at 22:34 UTC | |
by rubasov (Friar) on Apr 08, 2010 at 22:43 UTC | |
by GrandFather (Saint) on Apr 08, 2010 at 23:41 UTC | |
by rubasov (Friar) on Apr 09, 2010 at 00:04 UTC |
In Section
Seekers of Perl Wisdom