in reply to Style Comments

This code could stand a lot of improving. I suggest you start from scratch and do things the "right" way (to name a few: don't open, read, reopen, then reread files just to get the Nth line, don't assign to $., don't pass data to subs using global variables, don't clobber $_, etc)... Tie::File will save you a lot of time. I suggest something like this:
use strict; use Tie::File; foreach my $file (readdir DH) { ## skip hidden files next if $file =~ /^\./; my @lines; tie @lines, 'Tie::File', $file or die "Couldn't open $file: $!"; ## skip files where the first line contains "Clock" next unless $lines[0] =~ /^Clock/; ## grab CSV timestamp info from 4th line and last line my $start = ( parse_csv( $lines[3] ) )[0]; my $end = ( parse_csv( $lines[-1] ) )[0]; ## prepend lines to the file: modifying the array modifies the fil +e unshift @lines, "PREPEND LINE1", "blank,blank,blank,$start,$end"; }
You should also consider using Text::CSV or Text::CSV_XS for parsing CSV data, so you don't have to worry about maintaining that CSV regex.

blokhead