Perl Yaml 덤프에서 열쇠로 명시 적으로 입력 된 Regexes가 허용됩니까?

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

  •  03-07-2019
  •  | 
  •  

문제

이것은 이전 질문과 관련이 있습니다. Python에서 Perl 데이터 구조를 어떻게 읽을 수 있습니까?. (0.66)와 함께 작업하는 Yaml 파서 버전의 버그 일 수 있지만 실행할 때 :

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

다음에 simple.pl:

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

나는 얻다:

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

Key Regex에는 명시 적 유형이 없습니다. 무엇을 제공합니까? (감사!)

도움이 되었습니까?

해결책

에서 man perldata:

해시는 관련된 스칼라 값의 정렬되지 않은 컬렉션입니다. 문자열 키.

키에는 Perl 유형이 없기 때문에 Yaml 덤프에 유형이 없습니다. 그들은 단지 현입니다. 당신의 경우 문자열 (?-xism:^spam)

이 시도:perl -l -e'%config = ( qr/^spam/ => qr/eggs$/); print $config{"(?-xism:^spam)"}'

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top