2015-05-07 92 views
-1

我有一些舊的CGI腳本似乎不能正常工作。Perl - 刪除空格的目錄

有一個目錄

$dir = "schedule/2015/Some Directory/Some Deeper Directory"; 

我用File::Path,我使用system("rm", "-rf", $dir); 或者remove_tree($dir)也試過,但我得到了錯誤的目錄不存在,當我做system("ls -l")列出的目錄。

另外我試着cd介紹一些目錄和刪除一些更深的目錄,但沒有運氣。

其實當我在我的Mac上本地運行它時,它工作正常,但在Debian擠壓服務器上失敗。

perl版本是5.010001。

我沒有更多關於服務器的信息,只有FTP訪問。

你的想法是什麼?

感謝

+0

'remove_tree'適合我:'dir =「schedule/2015/Some Directory/Some Deeper Directory」; mkdir -p「$ dir」&& perl -MFile :: Path = remove_tree -we「remove_tree q {$ dir}」' – ThisSuitIsBlackNot

回答

-1

嘗試以下,你的例子上面稍作修改:

system("rm", "-rf", "'$dir'"); 

...只要你在正確的目錄裏(即在schedule父目錄) ,雖然rm -rf總是很危險......

+0

這似乎並不奏效。 不能刪除./schedules/2015/Some目錄/一些深層次目錄:在index.cgi腳本行錯誤的文件描述符211 – Douglish

+1

你可以發佈你使用的是創建一個樣本目錄失敗的命令,然後一個示例腳本刪除它。到目前爲止,所有重新創建問題的嘗試都失敗了,所以我懷疑目錄名中是否有錯誤,或者在運行腳本時出現錯誤的目錄。 – TobyLL

+2

好的,整個問題是因爲有人創建了目錄「某個目錄」,最後有空格,我沒有看到它。我注意到,當我試圖重命名它。捂臉。 – Douglish