cxgy has asked for the wisdom of the Perl Monks concerning the following question:

Help! I've been running ActivePerl for years now & have scores of scripts running to manipulate data & update websites. Last night Windows 10 did a major update to Build 1607 (the 'Anniversary Edition'). Perl no longer works! The cmd window opens but nothing happens. When clicking on a .pl file, I get a UAC warning about 'no publisher' and then the same dead cmd window. I tried installing Strawberry. That eliminated the UAC warning, but still won't run. I've had to fire up my Win 7 machine as backup. Has this happened to anyone else?

Replies are listed 'Best First'.
Re: Win 10 Anniversary killed Perl
by GrandFather (Saint) on Sep 27, 2016 at 03:25 UTC

    If you open a cmd window and perl -v do you get version information? I'm using Strawberry Perl 5.16.3 32 bit build which works fine before and after the Anniversary update.

    Update: I lie. It's an ActiveState build on this machine. At home I'm running Strawberry 5.2x.x, again with no trouble before or following the Anniversary update.

    Premature optimization is the root of all job security
      Yes, I just tried that and it states perl 5, version 24, etc. EDIT: I just tried typing 'perl' followed by a perl-script filename and the same behaviour is noticed - nothing happens and then the cmd window disappears after a few seconds.
        I just tried launching another script from within the cmd window. This time something else happened. I get a whole bunch of syntax errors for the lines containing : do parse (); Odd that there would be syntax errors on a script that has been working for years.
      It seems like I have two issues. #1: The command  do something (); now gives syntax errors. #2: The command  use LWP::Simple; no longer seems to do anything.

        #2: The command use LWP::Simple; no longer seems to do anything.

        What do you mean by that? Error message? No error message? Something else?

        I've solved the subroutine issue by removing the  do command. Not sure why this is suddenly needed. Now for grabbing files from the internet, I was using this
        use LWP::Simple; $url = "http://webfile"; $file = "c:/somefile"; getstore($url,$file);
        Is this code obsolete as well? Is there a replacement? Tks.