以下perl脚本(显示下来)
打印以下XML文件 但XML存在问题,因为在TEST字
之后不必要的“&amp;#10”字符 <ROOT>
<FILE Name="TEST1 "/>
<FILE Name="TEST2 "/>
<FILE Name="TEST "/>ar
</ROOT>
我认为“&amp;#10”字符是因为换行符(用反引号操作符读取命令输出到@myNames) 似乎我的XML中现有“&amp;#10”的这个问题可以解决chomp命令
我的问题:以哪种方式需要在我的脚本中添加chomp命令才能解决问题
我的perl脚本
#!/usr/bin/perl
use warnings;
use XML::LibXML;
my $doc = XML::LibXML::Document->new;
my $root = $doc->createElement('ROOT');
$doc->setDocumentElement($root);
my @myNames=` ls /var/tmp | grep FILE.xml | sed "s/.FILE.*//" `;
foreach (@myNames) {
my $objVar = $doc->createElement('FILE');
$root->appendChild($objVar);
$objVar->setAttribute('Name' , $_ );
}
my @lines = split /\n/, $doc->toString(1);
shift @lines;
foreach (@lines) {
print "$_\n";
}
/ var / tmp
下的文件 TEST1-FILE.xml
TEST2-FILE.xml
TEST-FILE.xml
答案 0 :(得分:5)
在获得文件名列表后立即使用它:
my @myNames=` ls /var/tmp | grep FILE.xml | sed "s/.FILE.*//" `;
chomp(@myNames);
...