perl + как использовать chomp в цикле foreach - PullRequest
1 голос
/ 14 июля 2010

следующий скрипт на Perl (показывает вниз)

напечатать следующий XML-файл, но у XML есть проблема, потому что ненужный символ "" после слова TEST

 <ROOT>
     <FILE Name="TEST1&#10;"/>
     <FILE Name="TEST2&#10;"/>
     <FILE Name="TEST&#10;"/>ar
</ROOT>

Я думаю ""Символы, потому что перевод строки (читать вывод команды в @myNames с оператором backtick) кажется, что эту проблему существующих "" в моем XML можно решить командой 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

1 Ответ

5 голосов
/ 14 июля 2010

Продолжайте и используйте его сразу после получения списка имен файлов:

my @myNames=` ls /var/tmp | grep FILE.xml | sed "s/.FILE.*//"  `;
chomp(@myNames);
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...