我无法更改perl中的目录。
#!/usr/bin/perl
use strict;
my $dir=`date +%d%b%Y`;
#the output of $dir is 13Feb2014 that directory is already inside "/mnt/Recordings/Inbound/Kinrep/"
my $path = "/mnt/Recordings/Inbound/Kinrep/$dir";
chdir($path) or die "Cant chdir to $path $!";
每当我执行我的程序时,我都无法更改我遇到错误的目录。
Cant chdir to /mnt/Recordings/Inbound/Kinrep/13Feb2014
No such file or directory at Ftp_transfer_197.pl line 17.
答案 0 :(得分:6)
chomp $dir;
将删除反引号中的命令附加到其输出的换行符。目录名实际上包含换行符的情况非常罕见,尽管在许多文件系统中都可以。
答案 1 :(得分:1)
您有一个已被接受的解决方案。但我想指出,这是你使用外部程序做一些你可以在Perl中做得非常好的事情的副作用。有很多方法可以做你想要的。最简单的可能是使用(标准)Time::Piece模块。
use Time::Piece;
$dir = localtime->strftime('%d%b%Y');