defined() used against arrays is fatal since Perl 5.22 Index: lib/Psh.pm --- lib/Psh.pm.orig +++ lib/Psh.pm @@ -367,7 +367,7 @@ sub find_array_name { sub defined_and_nonempty { - if (!defined(@_)) { return 0; } + if (!@_) { return 0; } if (scalar(@_) == 0) { return 0; } if (scalar(@_) == 1) {