use warnings; use strict; open my $fh, '+>', 'output.txt' or die("Can't open the damn file!: $!"); while(my $line == 'mytextfile') # semi-colon removed(run1) & (run2)equity test to '==' { # extra empty line removed: HazNav (not an error) chomp $line; my ($name, $num) = split(/\s+(?=\d)/, $line); # missing semi-colon inserted (run 1) # some lines have whitespace after the num $num =~ s/\s+//g; if ($num =~ /^\d{4}$/){ $num = "(333)-447-$num"; } elsif ($num =~ /^\d{3}-\d{4}$/){ $num = "(333)-$num"; } print $fh "$name $num\n"; } #### C:>perl -c delete_me.pl Scalar found where operator expected at delete_me.pl line 16, near ") # some lines have whitespace after the num $num" (Missing operator before $num?) syntax error at delete_me.pl line 8, near ");" syntax error at delete_me.pl line 16, near ") # some lines have whitespace after the num $num " Global symbol "$num" requires explicit package name at delete_me.pl line 16. Global symbol "$num" requires explicit package name at delete_me.pl line 18. Global symbol "$num" requires explicit package name at delete_me.pl line 19. Global symbol "$num" requires explicit package name at delete_me.pl line 19. Global symbol "$num" requires explicit package name at delete_me.pl line 21. Global symbol "$num" requires explicit package name at delete_me.pl line 22. Global symbol "$num" requires explicit package name at delete_me.pl line 22. delete_me.pl had compilation errors. #### Found = in conditional, should be == at D:\_Perl_\pl_test\delete_me.pl line 9.