У меня есть несколько XML-файлов в каталоге, поэтому я ищу требуемые XML-файлы в этом каталоге и храню XML-данные в структуре хеш-данных, используя скрипт ниже. Но моя проблема заключается в том, что мне нужно сохранить путь к файлу каждого 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-файла в структуре хэш-данных. Может ли кто-нибудь помочь мне.
Заранее спасибо