Perl

The simplest most deterministic way I could think of installing the perl dependency on windows is something like this:

The logic behind this approach is to avoid modifying the global environment of the machine by using a portable version of Strawberry Perl. Instead of running a system-wide installer that could change PATH variables or overwrite existing Perl configurations, this method simply downloads and unpacks Perl into a local directory within your project. This keeps your dependency isolated—changes are only within your project folder—and ensures no risk to other applications or system settings.

By simplifying and isolating the environment in this way, you avoid risk and make the build process deterministic and reproducible. Anyone building your project will get the exact Perl version required, with no side effects, simply by running make. No need for administrator rights or manual cleanup, and if you want to remove it, you just delete the project folder—nothing spills into the wider system

EliotHomeServer:~/builds/iguana6/openssl_perl % make
curl -L "https://strawberryperl.com/download/5.20.3.3/strawberry-perl-5.20.3.3-64bit-portable.zip" -o "strawberry-perl-5.20.3.3-64bit-portable.zip"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  110M  100  110M    0     0  4304k      0  0:00:26  0:00:26 --:--:-- 3424k
mkdir install
tar -xf "strawberry-perl-5.20.3.3-64bit-portable.zip" -C install
echo installed > "./install/perl.installed"
EliotHomeServer:~/builds/iguana6/openssl_perl % make
make: Nothing to be done for `all'.