I have an ancient (2001) perl script that I use at work. I used Perl 5.14.3 a decade ago to compile this script for use on my new Windows 7 computer that still worked under my Windows 10 OS.
I had to get a brand new Windows 11 computer and am having fits trying to get Perl on this machine and my script to work.
My old set up was that I had the Perl executable and the actual script saved in a folder on my network drive. I would go in every month and click the Perl icon, it would run the script on my new file and done. No messing with the CMD window, no dealing with programming, just click and go.
I have tried to download the current ActiveState Perl (5.36, I guess it is). It is apparently installed in my
C:\Users[my user name]\AppData\Local\ActiveState\StateTool\release
But the bin folder is empty so I’m not convinced it IS installed. There’s no icon anywhere.
I can’t seem to get past this impasse.
I am NOT a programmer by any stretch of the imagination. I have a BA in comp sci from the early 1980s (PL/I was the programming language back then, also the joys of JCL; they were installing the new Linux machines the semester I graduated), I’ve written MSDos .bat files in my day, can tweak html files and my little perl script (that I got from another library a very long time ago), but, honestly, I can’t program my way out of a paper bag.
So, I REALLY need a lay-level how to get my perl script compiled on this computer. I don’t need to write any new scripts, I just need to compile THIS ONE so I can click and go every month.
Any assistance would be most appreciated. (Think of it as a public service.)
So, thanks for using ActiveState. So, now we don’t distribute Perl as a windows installer anymore to put it more in line with modern development practices. However, it should still be pretty straightforward to get it working.
You mentioned Perl 5.14 but that is pretty old and out of date and no longer maintained. Are you able to upgrade to a newer version of Perl do you think? Did you create a project on the platform that included any modules you were using (if so, what’s it called?)?
Once you create a project, it should be as simple as copy+paste the instructions provided to you and run them in your CMD prompt.
Let me know and we’re happy to help walk you through this process.
Yeah, I know 5.14 is pretty old and I tried to install the current 5.36 but even though it says in Windows Command that it has already been installed, I must be missing some sort of step after that to get it to do anything.
I don’t think I can actually update the 5.14 installation – there’s nothing in the Windows app list for Perl, it’s just a bunch of folders and files. The icon I’m used to seeing from the folder looks like this…
These are in the “bin” folder that was installed under 5.14.
So, once I compiled my perl script, it had that icon in front of it and every month, I would put a txt file in the same folder, change the date in the perl script, and then click the script line with that little blue icon and it would generate an html-formatted document that we post on our website. No CMD window, nothing like that.
I didn’t create a project on the platform – I didn’t think I needed to do that, I just wanted to compile my little old script so that I can run it every month. I understand that I have to have Perl installed on my machine so that the script will run and with 5.14, the script had to be in the same folder with the file I was using and all the files generated by the install (bin, etc.), but other than that, no idea what a project is or what platform we’re actually talking about. Everything ran off my local desktop or network drive.
Not sure what else we can do to resolve this, but I’ll take any suggestions you might have. Thank you!
There’s a related post here: Perl 5.32 Perl script run as command found in path receives no arguments - #13 by ActiveState-Support
The State Tool is intentionally NOT making global changes or registry entries, so that it can deploy Perl into a virtual environment and not conflict with other users or other software or other Perls. The workflow you’ve been using needs a Perl that does the opposite; a “There can be only one” Perl, which makes changes to the registry when it installs.
If you use the “state checkout” command instead of the “state activate” you get closer to the “there-can-be-only-one”. To get the rest of what you have been used to though, manual additions to the registry need to be made.