# Get the file through get opt my $line = `nl $file | tail -n 1`; my @items = ($line =~ /^\s*([0-9]+)\s+([0-9]+)\s+/); my $lineNum = int($items[0]) - 1; my $newDate = $items[1]; my $fileTmp = $file . ".tmp"; if($date eq $newDate){ system("head -n $lineNum $file > $fileTmp"); system("echo $newline >> $fileTmp"); system("rm $file;mv $fileTmp $file"); }