tie my @array, 'Tie::File', $filename, mode => O_RDONLY; my $recs = @array; warn "we have $recs records to parse "; pop @array; foreach my $element ( @array ) { print "ok, we'd be updating $element \n"; } #### we have 280579 records to parse at ./upd_res_data2.pl line 72, line 280579. Couldn't write record: Bad file descriptor at /usr/lib/perl5/5.8.0/Tie/File.pm line 665, line 280580.