ディレクトリにいくつかのxmlファイルがあるので、そのディレクトリに必要なxmlファイルを検索し、以下のスクリプトを使用してxmlデータをハッシュデータ構造に格納しています。しかし、私の問題は、私は私がスクリプトの上に使用して、このperlを使ってハッシュにxmlパスを含める方法
#!/usr/bin/perl
use warnings;
use strict;
use XML::Simple;
use Carp;
use File::Find;
use File::Spec::Functions qw(canonpath);
use Data::Dumper;
my @ARGV ="C:/Main/work"; die "Need directories\n" unless @ARGV;
find(
sub {
return unless (/(_service\.xml)$/ and -f);
Hash_information();
return;
},
@ARGV
);
sub Hash_information {
my $path= $_;
my $xml = new XML::Simple;
my $data = $xml->XMLin("$path", ForceArray => [
'Service','SystemReaction','SW','HW','Component' , 'BM'],
KeyAttr=>{Service=>'Id'} );
print Dumper ($data);
return;
}
ようなスクリプトを書い 私はハッシュの各XMLファイルのファイルパスを保存する必要がありますが、いずれかのハッシュデータにファイルパスを保存する方法を手伝ってくれるですすべてのサービスXMLファイルをフォルダーにし、XML :: Simpleを使用してハッシュデータ構造に格納する。これで、各XMLファイルのファイルパスをハッシュデータ構造に保存します。誰でも私を助けることができます。
ありがとうございます
ps。あなたは 'sub'の終わりに裸の' return'を残すことができますが、 '$ data'を返すか、どこかに保存するつもりはありませんか? – BRFennPocock