On Thursday, June 6, 2002, at 01:56 , lz wrote:
>
> You were right - I got multiple lines in the file and
> I guess while the variable was set when it found the
> correct pattern, but was unset after it couldn't find
> the pattern.
>
> Since, I don't need anything after I got my field, I
> just used 'last' to exit out from the loop and it
> seemed to work fine!
[..]
>> % while ( $line = <STDIN> )
>> % {
>> %     $idNumber = $line =~ /\((ID\d+)\)/;
>> % }
>> %
>> % print $idNumber; // empty
[..]
>> Oh!  I get it!  There's more than one line in the
>> file, right?
attention to detail......
[..]
>> You *probably* want something like
>>
>>   $idNumber = ...
>>   last i $idNumber
>>
>> to jump out of the loop once it has been
>> successfully set.
[..]

uh dudes - since we are looking for the first non-blank line,
why not look for the first non blank line?

        my ($line, $idNumber) = (undef, undef);
        while(<FH>) {
                next if(/^\s*$/);
                last;
        }
        chomp($line=$_);
        ($idNumber) = $line =~ /\((ID\d+)\)/;

cf: http://www.wetware.com/drieux/pbl/perlTrick/firstNonBlankLineOfFile.txt


ciao
drieux

---


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to