Subject: Re: [PATCH 2/5] t/perf: use configured PERL_PATH

From: Junio C Hamano <[email-masked]>
Date: Mon, 14 Apr 2025 12:20:40 -0700

Patrick Steinhardt <[email-masked]> writes:

>> > Use "PERL_PATH" to execute Perl scripts, which makes them work on more
>> > esoteric systems like NixOS.
>> 
>> I see in `t/perf/README` there's a mention of running `./aggregate.perl`
>> directly? Shall we inform the user to run that through their Perl as
>> well?
>> 
>> -    $ ./aggregate.perl . /path/to/other/git ./p0001-rev-list.sh
>> +    $ perl ./aggregate.perl . /path/to/other/git ./p0001-rev-list.sh

Good.

>> 
>> Or do we expect users to know what they are doing when they don't have
>> Perl installed at /usr/bin/perl?
>
> Another solution could be to switch the shebang to `#!/usr/bin/env
> perl`. We also do this for "t/chainlint.pl".

When you do not have perl installed anywhere, how does this fail?  I
think you would get

    $ ./aggregate.perl ...
    /usr/bin/env: 'perl': No such file or directory

and compared to that, 

    $ perl ./aggregate.perl ...
    bash: perl: command not found

I think it makes it slightly more obvious to those who lack perl on
their $PATH what is going wrong to explicitly tell them to run
"perl" like Toon's suggestion above (primarily because use of
/usr/bin/env is not obvious to those who are told to run
./aggregate.perl script).