John W.Krahn <[EMAIL PROTECTED]> writes:

>> I thought it might be because File::Find cds to the target dir then
>> names like src dir or  ./src ./dir fail.  Just guessing
>
> OK, that's my mistake, as I said I didn't test it ... oops.  :-)

I guess you knew this from your smilie but to confirm ... that was not
a complaint...I really appreciate getting a look at well done code.
I've wallowed around with my own pathetic code for years really
without really paying attention to how it should be done.  I'm a home
user who likes to script up stuff at times.  Fortunately no one else
suffers from poor coding. (Except usenet.. and mailing lists.. hehe)

I do have another related question about this whole thing.  Originally
(not in the code I posted) 
I wanted to make the script so it could either copy the files or just
report on the findings (file name and content of regex that hit).

I used a getopts to make the decision and when copying wasn't selected
I thougt it would be smart to break out of the while loop inside a
find() either when the regex hit, or when the first blank line showed
up, which ever came first.

Some of the directories I'm working with are pretty big.  The biggest
one is over 400,000 posts. So reading only up to the regex hit would
represent quite a lot of lines saved.

The regex are only aimed at headers.  Most often From: or Subject:.

I was reading lines with a while loop inside find() so used a `last'
to break out of it.  Perl gives a warning for that so I thought maybe
it wasn't such a good idea... but finally resorted to sticking with
the last and quieting the warnings with `no warnings' locally.

So two questions:

1) With the scale of data I'm talking about would breaking out after
   finding the regex be of much benefit. (when not copying)

2) What is the best way to break out of a while loop early, inside a
   find()?


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


Reply via email to