Perl XML: простое чтение пар xml и выполнение чего-либо для каждой из них - PullRequest
0 голосов
/ 13 октября 2011

У меня есть XML-файл, который содержит следующий раздел:

<cptasks>
 <copy file="file1.txt" to="folder1/folder21" />
 <copy file="file2.txt" to="folder1/folder33" />
 <copy file="file3.txt" to="folder1/folder4" />
 <copy file="file4.txt" to="folder1/folder1" />
</cptasks>

Мне нужно разобрать только пары file / to в этом конкретном разделе и запустить для них функцию - т.е.

some_func_name(<file_value>,<to_value>)

Как я могу это сделать?

Заранее спасибо;

1 Ответ

2 голосов
/ 13 октября 2011
use XML::Simple;
my $cptasks = XMLin(qq~
<cptasks>
<copy file="file1.txt" to="folder1/folder21" />
<copy file="file2.txt" to="folder1/folder33" />
<copy file="file3.txt" to="folder1/folder4" />
<copy file="file4.txt" to="folder1/folder1" />
</cptasks>
~
);


for my $copy (@{$cptasks->{copy}}) {
    some_func_name($copy->{file}, $copy->{to});
}
...