sub addSecondary { my ($email, $secondary) = @_; open my $input, '<', 'registration.dat'; open my $output, '>', 'registration.tmp'; while (<$input>) { chomp; my $line = $_; if ($line =~ /$email/) { $line =~ s/nodata/$secondary/gi; } print $output "$line\n"; } close $input; close $output; unlink 'registration.dat'; rename 'registration.tmp' 'registration.dat'; } #### use File::Slurp qw(:edit); sub addSecondary { my ($email, $secondary) = @_; edit_file_lines { s/nodata/$secondary/gi if /$email/ } 'registration.dat'; }