読者です 読者をやめる 読者になる 読者になる

Perl日記

PerlとかRubyとかPHPとかPythonとか

スペースが入ったディレクトリ

スペースが入ったディレクトリをスクリプト内で作成する時は、スペースを「\」でエスケープする必要があるのかなと思ってやってみた。

#!/usr/local/bin/perl
# mkdir.pl
use strict;
use warnings;
use feature qw/say/;

my $dir_name = "my test";
my $dir = "./$dir_name";

mkdir($dir) or die qq(Can't make directory.[$dir]);
say "Make Directory.[$dir]";

__END__
$ ./mkdir.pl
Make Directory.[./my test]
$ ls
-rwxr-xr-x  1 rightgo09  staff   268  1 30 20:21 mkdir.pl
drwxr-xr-x  2 rightgo09  staff    68  1 30 20:21 my test

できた。



まとめてみた。

my $dir_name = "my test";  #=> "my test"
my $dir_name = "my\ test"; #=> "my test"
my $dir_name = 'my test';  #=> "my test"
my $dir_name = 'my\ test'; #=> "my\ test"

mkdir()はちゃんと半角スペースつきのディレクトリを作ってくれる。