Perl Download, Install and use is confusing

I am trying to download and install perl, so that it can be run from a cmd shell.
I go to Download & Install Perl - ActiveState
I click on the “Recommended Version” for Windows button [Download perl 5.32].
This takes me to a Create an Account screen. I instead click the “Log in” at the top right, and log in with github.
It now says "Create your first Python, Perl, Ruby or Tcl runtime.
I don’t want to create a runtime, I want to download an existing install, which I assume is standard, but fine: I select Perl, 5.34.0, Windows 10.
It gives me this:
powershell -Command “& $([scriptblock]::Create((New-Object Net.WebClient).DownloadString(‘’))) -c’state activate --default mconner/Perl-5.34.0-Windows --branch '”
I run it and it fails.
I go back and try again.
The second time, It tells me I need to rename it. (Huh ?!?!?). After clicking on the ActiveState logo, I find a list of Projects I’ve created.
If I click on the project it gives me the same powershell command as before, but this time, it includes a branch (main).
I run that, it installs.Yeah!
But if I exit or start a new cmd shell, I have to run the state command (kinda generic, how about “activestate”?) to activate perl. and it puts me into a shell.
Isn’t there a way to just run ActiveState Perl like every other program out there (e.g.: like Strawberry Perl), without starting up a subshell first?

1 Like

HI @mconner , Thanks for posting! The team will get back to you accordingly. Regards.

This is STUPID!

PS C:\PerlInstall> powershell -Command “& $([scriptblock]::Create((New-Object Net.WebClient).DownloadString(‘’))) -c’state activate --default phreud/PerlWolf-5.34.0-Windows’”
At line:1 char:1

  • & # Copyright 2019-2021 ActiveState Software Inc. All rights reserved …
  • ~
    Missing expression after ‘&’ in pipeline element.
    At line:1 char:71
  • … # Copyright 2019-2021 ActiveState Software Inc. All rights reserved.
  •                                                                      ~

Unexpected token ’
’ in expression or statement.
At line:18 char:41

  • $script:SESSION_TOKEN_VERIFY = -join ({, TOKEN, })
  •                                     ~

Missing expression after unary operator ‘,’.
At line:18 char:42

  • $script:SESSION_TOKEN_VERIFY = -join ({, TOKEN, })
  •                                      ~~~~~

Unexpected token ‘TOKEN’ in expression or statement.
At line:18 char:47

  • $script:SESSION_TOKEN_VERIFY = -join ({, TOKEN, })
  •                                           ~

Missing argument in parameter list.
At line:20 char:31

  • $script:SESSION_TOKEN_VALUE = "
  •                           ~

The string is missing the terminator: ".
+ CategoryInfo : ParserError: (:slight_smile: , ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingExpression

PS C:\PerlInstall>

1 Like

You need to run this from CMD and not powershell. I spent a fair bit of time scratching my head about this too :slight_smile:

I am trying to download and install Perl on my computer. I have tried installing it from the command prompt, but it keeps saying that I don’t have enough space left on my hard drive.

That command is intended to be run from cmd.exe, not from directly inside Powershell. Powershell, calling out to powershell, will give errors.