Incorrect quoting of command-line arguments for all programs in Perl\exec

Unfortunately, that didn’t fix the problem (remember that the correct error message would be about an invalid argument, not that the system cannot find the file):

C:\Users\root\Perl-5.36-Windows>state clean cache
█ Cleaning Cached Runtimes


Please Confirm
You are about to reset the State Tool cache. Continue? (y/N)
> y
Successfully cleaned cache.

C:\Users\root\Perl-5.36-Windows>state refresh
Runtime updated for project gamin-mb/Perl-5.36-Windows, located at C:\Users\root\Perl-5.36-Windows.
For editors and other tooling use the executables at: C:\Perl\exec.


C:\Users\root\Perl-5.36-Windows>shasum "a<b"
The system cannot find the file specified.

Some additional information:

  1. C:\Perl\exec\shasum.exe is dated June 3, so it was indeed updated with state 0.44.
  2. Running the same command in a PowerShell window makes no difference.
  3. I tried using various PowerShell quoting rules, to no avail:
PS C:\Users\root> shasum "a<b"
The system cannot find the file specified.
PS C:\Users\root> shasum `"a<b`"
The system cannot find the file specified.
PS C:\Users\root> shasum ""a<b""
The system cannot find the file specified.

I was waiting for this ticket to be fixed: Build error for new versions of PAR and PAR-Packer, but I just checked and the build seems to have passed. I did a state pull, checked again and the results are the same; all programs in C:\Perl\exec behave as if their arguments were stripped of their quotes. Everything in C:\Perl\exec is dated June 11, at the time I did a state pull.

C:\Users\root>where shasum
C:\Perl\exec\shasum.exe

C:\Users\root>shasum "a<b"
The system cannot find the file specified.

C:\Users\root>C:\Perl\bin\shasum "a<b"
shasum: a<b: Invalid argument

C:\Users\root>where exiftool
C:\Perl\exec\exiftool.exe
C:\Perl\site\bin\exiftool
C:\Perl\site\bin\exiftool.bat

C:\Users\root>exiftool -ver "a<b"
The system cannot find the file specified.

C:\Users\root>C:\Perl\site\bin\exiftool -ver "a<b"
12.76
Error: File not found - a<b

You mentioned this is very strange. Do you mean that you cannot reproduce this problem?