use strict; use warnings; use autodie; use Tie::File; tie my @input_data, 'Tie::File', 'your_input_filename'; open my $output_fh, '>', 'your_output_filename'; for my $record (@input_data) { my $extracted_info = ...; # extract info from $record here print $output_fh "$extracted_info\n"; } untie @input_data; close $output_fh;