1

これは以前の質問に関連しています: Python から Perl データ構造を読み取るにはどうすればよいですか? . 私が使用している YAML パーサーのバージョン (0.66) のバグである可能性がありますが、実行すると:

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

キーの正規表現には明示的な型がないことに注意してください。何を与える?(ありがとう!)

4

1 に答える 1

4

からman perldata:

ハッシュは、関連付けられた文字列 keyによってインデックス付けされたスカラー値の順序付けられていないコレクションです。

キーは Perl に型がないため、YAML ダンプに型がありません。それらは単なる文字列です。あなたの場合、文字列(?-xism:^spam)

これを試して: perl -l -e'%config = ( qr/^spam/ => qr/eggs$/); print $config{"(?-xism:^spam)"}'

于 2009-01-06T12:48:45.240 に答える