Bom dia, senhores. A referência oficial ao $^H, no perlvar: "WARNING: This variable is strictly for internal use only. Its availability, behavior, and contents are subject to change without notice." Mais claro, impossível. Ainda assim, estou tentando entender o que mudou de lá pra cá:
$ perl -e 'BEGIN { $^H{feature_say} = 1; }; say $^V' v5.14.2 $ perl -e 'BEGIN { $^H{feature_say} = 1; }; say $^V' Can't locate object method "say" via package "version" at -e line 1. Aparentemente, não funciona mais... Mas não é bem assim. Fuçando um pouco, descobri que precisa do tal de HINT_FEATURE_MASK, introduzido em 5.15.7 ( https://metacpan.org/diff/file/?target=BINGOS/perl-5.15.7/lib/feature.pm&source=FLORA/perl-5.14.2/lib/feature.pm ) perldelta refere à definição do valor de HINT_FEATURE_MASK em perl.h: #define HINT_FEATURE_MASK 0x1c000000 /* 3 bits for feature bundles */ Então, para "consertar" o código, basta fazer: $ perl -e 'BEGIN { $^H |= 0x1c000000; $^H{feature_say} = 1; }; say $^V' v5.16.0 Infelizmente, para mim isso é "black magic". O que exatamente esse valor faz? Por que não precisava dele antes e agora precisa? ABS()
_______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm