> My question is whethor or not its better to parse the data as 
> I load the array
> from the program output, or parse the array after the fact, 
> or parse the array
> after the fact multiple times  In either case I seem to get 
> lost in trying to
> use a foreach and shift at the same time, e.g.:
> 
> #### TRYING TO PARSE PURGE EVERYTHING TO "Defined Filter 
> List" +two elements)
> my @filters = `/opt/OV/bin/ovfiltercheck`;
> foreach ( @filters ) {
>   if ( m/Defined Filter List/ ) { # IF FIND FILTER SECTION
>     shift;   # DELETE "Defined Filter List"
>     shift;   # DELETE "================"
>     last;    # EXIT FOREACH LOOP
>   } else {
>     shift;   # DELETE ELEMENTS
>   }
> }

How about something like:
# simply fills the arrayy with all lines but the Header lines
# is that what you wanted to do?? It is hard to tell.
# you may want to fine tune the expr matches. 
my @filters = `/opt/OV/bin/ovfiltercheck`;
foreach ( @filters ) {
        next if =~ /Defined Filter List/;
        next if =~ /Defined Set List/;
        next if =~ /=+/;
        # Now do something with the good data
        # like print or print to a file, or another array.
}


> # Make another foreach loop to dump elements after "Defined Set List"
> print @filters;

That depends what you want to do with this array. Do you just want to print
them or write to a file, or use later in program? 

> my ( @filters, $filters_begin, $filters_end) ;
> open OVFILTERCHECK, "/opt/OV/bin/ovfiltercheck |" || die 
> "Error, can't open:
> $!\n";
> while (<OVFILTERCHECK>) {
>     if ( m/Defined Filter List/ ) { # WHEN I GET TO THE FILTER LIST
>       $filters_begin = 1;           # SET A FLAG INDICATING SAME
>     }
>     if ( m/Defined Set List/ ) {    # WHEN PASS THE FILTER  SECTION
>       last;                         # TERMINATE ARRAY LOADING
>     }
>     if ($filters_found) {           # IF FILTER SECTION HAS BEGUN
>       $filters[$.++]  = $_;         # SAVE VALID FILTER NAMES 
> TO @FILTERS

You can accomplish all of this in the first loop, open a out file and write
to it. Give it a try and learn this. If you get stuck, post again.

HTH,
JIm




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

Reply via email to