что когда-либо имя файла просто использовать косую черту, чтобы ссылаться на пробелы

ользую Perl на окнах (Active Perl). У меня есть Perl-программа для перемещения файлов в текущей папке и объединения их всех с помощью команды dos copy, вызываемой изнутри с помощью system () ...

Когда я выполняюсь, это выдает ошибку dos, говорящую «Система не может найти указанный файл». Это связано с пробелами в именах файлов, которые у меня есть.

Это код Perl: -

@files = glob "*.mp3";
$outfile = 'final.mp3';
$firsttime = 1;
foreach (@files)
{

    if($firsttime == 1)
    {
       @args = ('copy' ,"/b ","$_","+","$outfile", "$outfile");
       system (@args);
       #system("copy /b '$_'+$outfile $outfile"); 
       $firsttime = 0;  
    }
    else
    {
       @args = ('copy' ,"/b ","$outfile","+","$_", "$outfile");
       system (@args);
       #system("copy /b $outfile+'$_' $outfile"); 
    }

}

glob возвращает массив имен файлов в моей текущей папке. Эти имена файлов имеют пробелы между ними, поэтому элементы массива имеют пробелы между ними. Когда я использую систему (...) для выполнения команды копирования этих элементов массива, используя "$ _", как показано выше, выдается ошибка, как указано выше.

Я попробовал несколько способов, которыми я мог бы вызвать систему (...), но безуспешно.

Я бы хотел знать,

1] Как я могу заставить это работать с файлами, между которыми есть пробелы, используя приведенный выше код. Как «экранировать» пробелы в именах файлов.

2] Любое альтернативное решение в Perl для достижения того же. (Простые приветствуются ..)

Ответы на вопрос(6)

Ваш ответ на вопрос