M.V.Johnson wrote:
> ...
> Okay Bob,
> 
> Her is the whole story. :-D
> 
> I am processing a directory full of .txt files. These .txt files have
> the following structure:
> 
> (DEVICE FILE: 74LVT16244A-TSSOP48_1)
> PACKAGE 'TSSOP-48-S0'
> CLASS IO
> PINCOUNT 48
> PINORDER 'LVT16244A-TSSOP48_1' A0 A1 A2 A3 Y0 Y1 Y2 Y3 '~OE'
> PINUSE 'LVT16244A-TSSOP48_1' IN IN IN IN TRI TRI TRI TRI IN
> FUNCTION G1 'LVT16244A-TSSOP48_1' 47 46 44 43 2 3 5 6 1
> END
> 
> I simply need to remove the line that starts with the word "PINUSE",
> but ONLY if the line that starts with the word CLASS does not
> have the IC in the
> second field. The possible flavors of that line are CLASS IC, CLASS
> IO, CLASS DISCRETE.
> 
> My next task will be to account for the PINUSE line wrapping past one
> line only. I'm just trying to take it one step at a time. :-)

Tie::File would work well for something like this I think:

    #!/usr/bin/perl
    use strict;
    use Tie::File;

    for (<*.txt>) {
        tie my @arr, 'Tie::File', $_ or die $!;
        @arr = grep $_ !~ /^PINUSE/, @arr unless grep /^CLASS IC/, @arr;
        untie @arr;
    }

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

Reply via email to