2014-02-13 3 views
0

Я не могу изменить каталог в perl.Как изменить каталог в 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

Существует ли каталог раньше? Если нет, 'system 'mkdir $ path"; 'должен помочь вам. – DeVadder

ответ

6

chomp $dir; удалит строку, что команда в кавычку прилагаемую к его выходу. Очень редко, что имя каталога фактически содержит новую строку, хотя это возможно во многих файловых системах.

+0

благодарит Мэтью Уолтона и амона – user2932003

1

У вас есть решение, которое вы приняли. Но я хотел бы указать, что это побочный эффект от использования внешней программы для выполнения чего-то, что вы можете прекрасно делать в Perl. Есть много способов сделать то, что вы хотите. Простейшим является, вероятно, использование (стандартного) модуля Time::Piece.

use Time::Piece; 

$dir = localtime->strftime('%d%b%Y');