On Sun, May 05 2019, Eric Sunshine wrote: > On Sun, May 5, 2019 at 3:43 PM Jeffrey Walton <noloader@xxxxxxxxx> 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