Cannot start render.pl with perl v5.26.1
krasoffski opened this issue · 1 comments
krasoffski commented
I have perl5
with version
perl -v
This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-gnu-thread-multi
(with 71 registered patches, see perl -V for more detail)
Trying to run ./render.pl
I got following error:
./render.pl --help
Experimental keys on scalar is now forbidden at ./render.pl line 364.
Type of arg 1 to keys must be hash or array (not anonymous hash ({})) at ./render.pl line 364, near "} }"
BEGIN not safe after errors--compilation aborted at ./render.pl line 786.
Addional info perl -Mdiagnostics render.pl
Subroutine main::getcwd redefined at render.pl line 13 (#1)
(W redefine) You redefined a subroutine. To suppress this warning, say
{
no warnings 'redefine';
eval "sub name { ... }";
}
Experimental keys on scalar is now forbidden at render.pl line 364.
Type of arg 1 to keys must be hash or array (not anonymous hash ({})) at render.pl line 364, near "} }"
BEGIN not safe after errors--compilation aborted at render.pl line 786 (#2)
(F) An experimental feature added in Perl 5.14 allowed each, keys,
push, pop, shift, splice, unshift, and values to be called with a
scalar argument. This experiment is considered unsuccessful, and
has been removed. The postderef feature may meet your needs better.
Uncaught exception from user code:
Experimental keys on scalar is now forbidden at render.pl line 364.
Type of arg 1 to keys must be hash or array (not anonymous hash ({})) at render.pl line 364, near "} }"
BEGIN not safe after errors--compilation aborted at render.pl line 786.
P.S. With v5.16 there is no such error but I faced different problem in docker container.
zoglmannk commented
This should now be fixed. I replaced the uniq function with something that works on newer and older versions of Perl. It is now on the main branch.