use strict;
use warnings;
use autodie;
open my $FILE1, '<', 'input.txt';
open my $FILE2, '>', 'output.txt';
while (<$FILE1>) {
s/^HDR.{47}|FTR.+//;
print $FILE2 $_;
}
close $FILE1;
close $FILE2;
- autodie will trap the file i/o errors (you're not handling these, but you should)
- Use only lexical (my) file handles
- Use while to iterate through the file
- The two substitutions were combined into one
If FTR marks the footer to the end of the line, you can just use FTR.+ to remove it, since in your example there were only 30 characters left--including FTR. However, it's certainly OK to use FTR.{27}, if you prefer. |