perlを使用してハッシュテーブルを作成しようとしています。私はperlを始めたばかりで、読んでいますが、実装できませんので、助けてください。以下のコードデータ番号をキーとして、説明を値としてハッシュテーブルを作成する必要があります。
1 に答える
2
XMLのような一般的なデータ形式の場合、ファイルを1行ずつ読み取り、自分で解析して手動でこれを実行しようとしないでください。代わりに、perlモジュールを使用してください。
XML :: Simpleモジュールは、最初から十分かもしれません。モジュールはデフォルトですでにシステムにインストールされていると思います。
use strict; # tip: always use strict and warnings for safety
use warnings;
use Data::Dumper;
use XML::Simple;
my $data = XMLin(\*DATA); # loads up xml into a hash reference assigned to $data
print Dumper $data; # uses Data::Dumper to print entire data structure to console
# the below section emulates a file, accessed via the special DATA file handle
# but you can replace this with an actual file and pass a filename to XMLin()
__DATA__
<DATA>
<!-- removed -->
</DATA>
アップデート
xmlファイルがhashrefにロードされたので、そのハッシュにアクセスして、必要な構造に編成できます。
# loads up xml into a hash reference assigned to $data
my $data = XMLin(\*DATA);
# organise into [testnumber => description] mappings
# not sure if 'Detection' is what you meant by 'description'
my %table = ( $data->{Testnumber} => $data->{Detection} );
このシナリオの問題は、xmlデータに含まれるテスト番号が1つだけであり、これがこのコードで処理されるすべてであるということです。それ以上を処理したい場合は、おそらくどこかの配列をループする必要があります。xmlデータがもっとあるとどうなるかわからないので、配列がどこにあるかわかりません。
于 2011-10-03T07:45:38.480 に答える