Infelizmente isso foi como andar pra traz, na minha opinião. Eu não sabia 
disso, alias ainda estou preso no perl 5.14.

Caso haja algum motivo para essa mudança, quando alguem descobrir me explique.

From: [email protected]
Date: Thu, 31 May 2012 11:09:26 -0300
To: [email protected]; [email protected]
Subject: [Rio-pm] variável $^H no Perl 5.16

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
[email protected]
http://mail.pm.org/mailman/listinfo/rio-pm                                      
  
_______________________________________________
Rio-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/rio-pm

Responder a