我正在調試一段代碼,它使用Perl '-s'函數來獲取某些文件的大小。Perl'-s'文件測試運算符問題
my $File1 = /myfolder/.../mysubfolder1/document.pdf
my $File2 = /myfolder/.../mysubfolder2/document.pdf
my $File3 = /myfolder/.../mysubfolder1/document2.pdf
($File3
實際上是/myfolder/.../mysubfolder2/document.pdf
鏈接又名$File2
)
的代碼是馬車是:
my $size = int((-s $File)/1024);
凡$File
被替換$File1
- $File3
。
由於某些原因,我無法解釋這不適用於每個文件。
對於$File1
和$File3
它有效,但不適用於$File2
。我可以理解,如果$File2
和$File3
都不起作用,這將意味着文件/myfolder/.../mysubfolder2/document.pdf
以某種方式損壞。 我甚至在-s
之前添加了一個測試if (-e $File)|{
以確保該文件存在,但是這三個文件確實存在。
還有一個更奇怪的事:有在/myfolder/.../mysubfolder1/
的.htaccess
但/myfolder/.../mysubfolder2/
沒有.htaccess
。如果相反,我認爲.htaccess
會以某種方式阻止-s
呼叫。
有什麼想法?
對於$ file2究竟構成「不起作用」? – DVK 2011-02-01 20:41:51