if (/.*simscan~\[\d+\]~([\w|\s]+).*?~(\d+\.\d+)s~.*?~(.*?)~(.*?)~(.*)/) {

The .* pattern at the beginning is useless as it causes unnecessary back-tracking, just remove it.

Ok.

The character class [\w|\s] includes both the '|' and '_' characters but it doesn't appear that that field would normally contain either a '|' or a '_' character.

It wouldn't (normally). I was with a misconception on how this worked. I thought it meant 'capture this hunk if it contains word or whitespace in any amount'. I have reading to do.

                $scantime = $2 if $2;

(\d+\.\d+) will always match at least three characters so it can never be false so the test is superfluous.

...hrm... more reading to do.

John

This is more about receiving feedback and not about an answer, so as I go find out why things work as they have been described, would you project the statement as if you had written it yourself, just for comparison sake?

Thanks everyone, as always,

Steve



--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to