open my $in , "<", 'input.txt'; open my $out, ">", 'output.txt'; $/ = "^L"; # Set the end of page sequence while (my $page = <$in>) # Get page { if ($page =~ m/\nINVENTORY +(\d+-\d+)/) # Get the inventory number { my $inventorNumber = $1; # do your database lookup to get new date from inventory number my $date = doDatabaseLookup($inventoryNumber); # Replace the existing date with the new date $page =~ s/(\nMY COMPANY PRODUCT #\n\d+ +)(\d{8})/$1$date/; } print out $page; }