Les expressions rationnelles explicitement saisies sont-elles autorisées comme clés dans le vidage Perl YAML?

StackOverflow https://stackoverflow.com/questions/415762

  •  03-07-2019
  •  | 
  •  

Question

Ceci concerne une question précédente: Comment puis-je lire Structures de données Perl de Python? . Il pourrait s'agir d'un bogue dans la version de l'analyseur YAML avec lequel je travaille (0.66), mais lorsque j'exécute:

perl -MYAML -le 'do shift; print YAML::Dump( $CPAN::Config )' simple.pl

Sur le simple.pl suivant:

%config = (
    'color' => 'red',
    'numbers' => [5, 8],
    qr/^spam/ => qr/eggs$/,
);

je reçois:

---
(?-xism:^spam): !!perl/regexp (?-xism:eggs$)
color: red
numbers:
  - 5
  - 8

Notez que la regex clé n'a pas le type explicite. Ce qui donne? (Merci!)

Était-ce utile?

La solution

À partir de man perldata :

  

Les hachages sont des collections non ordonnées de valeurs scalaires indexées par leur clé de chaîne associée.

Les clés n'ont pas de type dans le vidage YAML car elles n'ont pas de type en Perl. Ce ne sont que des ficelles. Dans votre cas, la chaîne (? - xism: ^ spam)

Essayez ceci: perl -l -e '% config = (qr / ^ spam / =

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top