Perl YAML-Modul erkennt Skalarentypen nicht

9

Ich lade die folgende .yaml Datei

%Vor%

mit diesem Stück Code:

%Vor%

und die Ausgabe ist

%Vor%

Dies bedeutet, dass es alle Skalare als Zeichenfolgen behandelt, was ich nicht erwartet habe. Aus der YAML-Dokumentation bei CPAN Ссылка ging ich davon aus, dass dies durch implizites Tagging gehandhabt wird und dass das Modul die Hexadezimalzahl erkennen würde.

Weiß jemand, wie man das macht?

    
Thorsten 30.01.2014, 16:21
quelle

1 Antwort

2

Wenn Sie die Loader-Klasse untersuchen, werden Sie feststellen, dass die Unterroutine _parse_inline einige Zweige für Sequenzen, Mappings, Strings in einfachen und doppelten Anführungszeichen und einige andere Fälle hat. Sie müssen lediglich einen Zweig für Werte hinzufügen, die mit 0x beginnen. Ich schrieb diesen Zweig und ein Sub für den Umgang mit Hex-Werten für YAML 0.900.0 . Ich habe es mit ein paar grundlegenden Eingaben versucht, und es scheint zu tun, was Sie wollten. Wenn es auch für Sie funktioniert, können Sie den Patch einreichen.

dump.pl

%Vor%

sym1.yaml

%Vor%

$ perl dump.pl

%Vor%

Patch für YAML 0.900.0

%Vor%     
quelle

Tags und Links