in reply to Perl Script in Windows Works, but not in Unix

Add:

use strict; use warnings;

To the top of the file, then add in some print statements so see what's going on. After I add strict and warnings, look at the problems... particularly, note the last one... you're missing a closing curly brace (actually two, but after you fix one, strict will cough again).

$ ./scr.pl Global symbol "$dirtoget" requires explicit package name at ./scr.pl l +ine 10. Global symbol "$dirwrite" requires explicit package name at ./scr.pl l +ine 11. Global symbol "$dirtoget" requires explicit package name at ./scr.pl l +ine 12. Global symbol "@thefiles" requires explicit package name at ./scr.pl l +ine 13. Global symbol "$f" requires explicit package name at ./scr.pl line 15. Global symbol "@thefiles" requires explicit package name at ./scr.pl l +ine 15. Global symbol "$f" requires explicit package name at ./scr.pl line 17. Global symbol "$f" requires explicit package name at ./scr.pl line 17. Global symbol "$fr" requires explicit package name at ./scr.pl line 19 +. Global symbol "$dirtoget" requires explicit package name at ./scr.pl l +ine 19. Global symbol "$f" requires explicit package name at ./scr.pl line 19. Global symbol "$fr" requires explicit package name at ./scr.pl line 20 +. Global symbol "$f" requires explicit package name at ./scr.pl line 21. Global symbol "$fw" requires explicit package name at ./scr.pl line 22 +. Global symbol "$dirwrite" requires explicit package name at ./scr.pl l +ine 22. Global symbol "$f" requires explicit package name at ./scr.pl line 22. Global symbol "$fw" requires explicit package name at ./scr.pl line 24 +. Global symbol "$x" requires explicit package name at ./scr.pl line 26. Global symbol "$line" requires explicit package name at ./scr.pl line +27. Global symbol "$x" requires explicit package name at ./scr.pl line 27. Global symbol "$line" requires explicit package name at ./scr.pl line +27. Missing right curly or square bracket at ./scr.pl line 28, at end of l +ine

-stevieb

Replies are listed 'Best First'.
Re^2: Perl Script in Windows Works, but not in Unix
by dobster936 (Novice) on Jun 26, 2015 at 18:59 UTC
    I did not post the full script. If you're interested:

      Still, without strict and warnings, few people will pour through your code trying to figure out if a variable is getting clobbered where it shouldn't be or something along those lines. It's very difficult to troubleshoot code that way, and it's very inefficient.

        Right, I'm just saying it is possible you got those errors because you did not use strict and warnings on the full code. I just added those 2 lines and nothing changed in the output. So I think the errors you got are just due to have only a part of the code.

      Now might be a good time to introduce you to the <readmore>and </readmore>tags.

      Nicely done with those <readmore></readmore>tags.  :-)