Subject: Re: Git build on antique PowerMac

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Thu, 09 May 2019 00:27:56 +0200

On Sun, May 05 2019, Eric Sunshine wrote:

> On Sun, May 5, 2019 at 3:43 PM Jeffrey Walton <[email-masked]> wrote:
>> I have a PowerMac I use for testing. [...]
>> make -C t/ all
>> readline() on unopened filehandle       test_must_fail
>> run_sub_test_lib_test  at check-non-portable-shell.pl line 34.
>> Modification of a read-only value attempted at
>> check-non-portable-shell.pl line 34.
>> make[1]: *** [test-lint-shell-syntax] Error 255
>>
>> Does anyone want to take a shot at this antique system? I can provide
>> SSH access with root.
>
> As the author of the code triggering that problem, I can take a look
> at it. (You already have my public SSH key on your Solaris box.)
>
> Given [1], I can see (I guess) why it's complaining about modification
> of a read-only variable. However, the unopened filehandle complaint
> looks odd.
>
> [1]: https://www.perlmonks.org/?node_id=570712#default_unlocalized

It's because "while (<>) { readline }" didn't use to be supported until
5.10, and he's on 5.8.

    $ seq 1 4 | ./miniperl -we 'print $]; while (<>) { chomp; print "$.: $_ -> " . readline }; print "\n"'
    readline() on unopened filehandle 1: 1 ->  at -e line 1.
    Use of uninitialized value in concatenation (.) or string at -e line 1.
    readline() on unopened filehandle 2: 2 ->  at -e line 1.
    readline() on unopened filehandle 3: 3 ->  at -e line 1.
    readline() on unopened filehandle 4: 4 ->  at -e line 1.
    5.009004
    $ seq 1 4 | perl -we 'print $]; while (<>) { chomp; print "$.: $_ -> " . readline }; print "\n"'
    5.0280011: 1 -> 2
    3: 3 -> 4