2016-08-28 1 views
0

Как создать папку, которая представляет собой комбинацию переменной и подчеркивания (и других специальных символов) в Windows?Perl создать папку сочетание переменных и подчеркивания

Мне нужно создать эту папку C: \ CD12.0 \ PROD12.0_NEW поэтому я попытался это

use File::Basename; 
    use File::Path; 
    my $version = "12.0"; 
    mkpath("C:/CD$version/PROD$version_NEW") or die; 

Получить эту ошибку

Global symbol "$version_NEW" requires explicit package name 
+0

Я не могу проверить на Windows, в настоящее время, но как об этом - оценить, что в строку, а затем использовать эту строку в 'mkpath'. Как 'my $ path =" C:/CD $ {version} ... "; mkpath ($ path, ...); 'Или используйте' sprintf' для создания строки, если это необходимо. – zdim

ответ

2

Вы должны использовать фигурные скобки или конкатенацию оператор

"C:/CD$version/PROD${version}_NEW" 

"C:/CD$version/PROD" . $version . "_NEW" 
+0

hem, используя фигурные скобки, создайте этот C: \ CD {12.0} \ PROD {12.0} _NEW – Epligam

+1

@Epligam Затем вы написали '' C:/CD {$ version}/... "' вместо '' C:/CD $ {версия}/... "'. – PerlDuck

+0

Действительно, вы правы, извините ... – Epligam

2

Вместо того чтобы делать неявную конкатенацию как в "this$that", вы можете сделать явным конкатенация, как в "this".$that.

Итак:

mkpath("C:/CD".$version."/PROD".$version."_NEW") or die; 

В качестве альтернативы, используйте фигурные скобки:

mkpath("C:/CD${version}PROD${version}_NEW") or die; 
Смежные вопросы