2010-10-22 5 views

risposta

0

Non esiste una variabile globale dichiarata con il nome $YAML::XS::DumpCode. Questa configurazione è nella classe YAML, quindi è necessario impostarla con local $YAML::DumpCode = 1;: vedere the documentation.

+0

Sei sicuro? Il codice C sembra utilizzare XS: '((gv = gv_fetchpv (" YAML :: XS :: DumpCode ", TRUE, SVt_PV)) &&' –

+0

@Eric: non è documentato, e c'è un '$ YAML documentato :: DumpCode', quindi IMHO quella variabile non dovrebbe esserci affatto.L'XS dovrebbe usare '$ YAML :: DumpCode'. – Ether

+0

http://search.cpan.org/~ingy/YAML-LibYAML-0.34/ lib/YAML/XS.pm # CONFIGURAZIONE discute esplicitamente '$ YAML :: :: XS UseCode' –

18

Sembra che lo $YAML::XS::DumpCode sia utilizzato solo dal codice C e non venga mai inizializzato in YAML/XS.pm (è lì, ma commentato). In modo che potrebbe essere un bug da presentare contro quel modulo.

Nel frattempo, no warnings 'once'; dovrebbe fare il trucco.

+0

Lo stesso avviso vale per' local $ YAML :: UseCode = 1; '. È lo stesso caso? Bug Anothr (questa volta in 'YAML' stesso)? –

+1

@David => il link "altri strumenti" su ogni pagina di rilascio di cpan contiene uno strumento grep per cercare rapidamente tutti i file nella versione. Consiglierei di fare una ricerca per 'UseCode' e vedere come viene utilizzato nel modulo. –

Problemi correlati