Командная строка Perl: одинарные или двойные кавычки для аргументов каталога

У меня проблемы с пониманием кавычек аргументов команд для perl в Windows. Используя следующую программу:

use strict;
use warnings;
use File::Find;
use File::Copy;

my $dir = shift;

die 'Usage: perl Folderize.pl <directory>' unless $dir;

die "$dir doesn't exist" unless -d $dir;

Я получаю разные результаты в зависимости от того, использую ли я одинарные или двойные кавычки для каталога. Если я вызову его с помощью 'perl script.pl' H: \ Test! ', он напечатает «' H: \ Test! ' не существует ». Однако, если я вызову его с помощью 'perl script.pl «H: \ Test!» , он будет работать нормально. Почему это происходит?

5
задан darch 27 May 2011 в 21:23
поделиться