你张贴的所有片段不是有效的XML让我们假装它看起来像这样
<body>
<item>
<key>Name</key>
<string>Steve Allen</string>
</item>
<item>
<key>Place</key>
<string>London</string>
</item>
</body>
使用片段作为输入,这一计划将重新命名任意数量给出ARGS 如果文件您将程序保存为“myrename”,那么“myrename file1.xml file2.xml file3.xml”会将file1.xml file2.xml和file3.xml的路径名更改为第一项
被称为“关键“似乎以一种神奇的方式工作:/
#!/usr/bin/perl
use XML::Simple;
for $file (@ARGV[ 0 .. $#ARGV ]) {
my $ref = XMLin($file);
$new_name = $ref->{'item'}->{'Name'}->{'string'};
rename $file, "$new_name.xml" || warn "couldn't rename $file $!";
}