On 2/10/06, Ken Hill <[EMAIL PROTECTED]> wrote:
> I have the following perl script that reads a fixed-width file and
> replaces values in various sections of the file.
>
> -------------------------------------------
> open (IN, '< in.txt');
> open (OUT, '> out_test.txt');
>
> while (<IN>) {
>
>           chomp;
>
>           $first_section = substr $_, 0, 381;     # extract the first
> section of the record
>           $facilityno = substr $_, 381, 10;    # extract the facilityno
> field
>           $second_section = substr $_, 391, 1056;        # extract the
> second section of the record
>           $requestor_section=" " x 500;
>   # $requestor_section = substr $_, 1446, 499; # extract requestor
> section of record
>           $third_section = substr $_, 1946, 4748; # extract third
> section of record
>
>           # print out the file with changed facilityno value ...
>
>           print OUT "$first_section$\0039007300$\$second_section$\
> $requestor_section$\$third_section\n";
>
> }
>
> close (IN);
> close (OUT);
> ------------------------------------------------
>
> I want to place an "if...then" condition on the $facilityno value; such
> that if the $facilityno value = 0000000000, delete the record (e.g.,
> don't print out that row).
>
> Any advice is very much appreciated.

add a conditional around your print:

unless ($facilityno == 0) {
     print OUT 
"$first_section$\$facilityno$\$second_section$\$requestor_section$\$third_section\n";
}

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


Reply via email to