我在某個目錄中有一些xml文件,因此我正在該目錄中搜索所需的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 :: Simple存儲在散列數據結構中。現在我想保存散列數據結構中每個xml文件的文件路徑。誰能幫我。
在此先感謝
ps。你可以在`sub`末尾放棄一個裸體`return'...但是你不是想要返回'$ data`還是將它存儲在某個地方? – BRFennPocock 2011-12-14 18:05:36