У меня есть дампер данных, выводящий удаленно размещенный XML-файл в локальный текстовый файл, и я получаю следующую информацию:
$VAR1 = {
'resource' => {
'005cd410-41d6-4e3a-a55f-c38732b73a24.xml' => {
'standard' => 'DITA',
'area' => 'holding',
'id' => 'Comp_UKCLRONLINE_UKCLR_2000UKCLR0278',
},
'003c2a5e-4af3-4e70-bf8b-382d0b4edda1.xml' => {
'standard' => 'DITA',
'area' => 'holding',
'id' => 'Comp_UKCLRONLINE_UKCLR_2000UKCLR0278',
},
и т. Д.Я хочу работать только с одним ключом и значением в каждом ресурсе.Т.е. выберите идентификатор, а затем создайте URL-адрес из этого.
Я обычно использую регулярное выражение в файле и извлекаю из него нужную мне информацию, но я думаю, что должен быть более простой / правильный способ, ноне могу придумать правильный термин для использования в поиске и поэтому не могу его найти.
Вот код, который я использую для записи этого вывода в файл:
#-----------------------------------------------
sub request_url {
#-----------------------------------------------
my $useragent = LWP::UserAgent->new;
my $request = HTTP::Request->new( GET => "http://digitalessence.net/resource.xml" );
$resource = $useragent->request( $request );
}
#-----------------------------------------------
sub file_write {
#-----------------------------------------------
open OUT, ">$OUT" or Log_message ("\n$DATE - $TIME - Could not create filelist.doc \t");
Log_message ("\n$DATE - $TIME - Opened the output file");
print OUT Dumper (XML::Simple->new()->XMLin( $resource->content ));
Log_message ("\n$DATE - $TIME - Written the output file");
}
спасибо