use feature 'say'; my $output = "data.txt"; open(DAT, '+<', $output) || die("Cannot Open File"); my $line; $line = until eof DAT; my ($id) = $line =~ m/\A(\d+):/; say DAT join ':', ++$id, $name, $number, $address, $phone, $email; close(DAT);