Я новичок в Perl.
В настоящее время моя задача состоит в том, чтобы просмотреть все файлы .htm в папке и сделать две вещи:
- Заменить все ".htm "extension to" .xml "
- Заменить все пробелы в имени файла на подчеркивание.
В моем скрипте perl я вставил следующие две строки:
@pub=`ls $sourceDir | grep '\.htm' | grep -v Default | head -550`;
foreach (@pub) {
my $docName = $_;
chomp($docName);
$docName =~ s/.htm$//g;
$docName =~ s/ /_/g;
....}
$ docName - это переменная, которая содержит текущее полное имя файла (включая расширение).Интересно, что эти два оператора замены $ docName в любое время работали только над одним из них.Например, приведенный здесь пример кода заменит только расширение, но пропустит пробел, но если я закомментирую первое, то пробел идеально превратится в подчеркивание, но расширения останутся ".htm".
Можетэксперты мне помогают?И могли бы также подсказать, где я ошибся?Заранее спасибо!