怎么得到一个文件的大小?

怎么得到一个文件的大小?

if (-e $filename){
}
可以判断文件是否存在

还有-s 等等什么的,似乎这个是去文件是否存在并返回大小的,
但是不知道是不是用这个东西来取得文件的大小,

$filesize = -s $filename; # 这样似乎是错误的,有了这句脚本就不能跑了“Internal Server Error”。

现在我有个文件 $filename,用什么语句能得到它的大小? 谢谢!!!



[Copy to clipboard] [ - ]
CODE:
    my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
        $atime,$mtime,$ctime,$blksize,$blocks) = stat($curLogFile);
    if( $size > 2000000 )
    {
        my $tm = TimeXXX::XXtime('YYYYMMDDhhmmss','CURRENT');
        rename("$curLogFile","$curLogFile.$tm");
    }

$filesize = -s $filename;  
应该没有问题的。
非常感谢!

use File::stat;
$filesize = (stat($filename))[7];

后来我看手册上这样,似乎可以了,谢谢楼二位!!


QUOTE:
原帖由 Zandy 于 2006-9-27 10:35 发表
非常感谢!

use File::stat;
$filesize = (stat($filename))[7];

后来我看手册上这样,似乎可以了,谢谢楼二位!!

你数一下2楼$time的位置,看是不是是7?
呵呵:)
你这个和2楼是一样的。


QUOTE:
原帖由 Osment 于 2006-9-27 10:39 发表

你数一下2楼$time的位置,看是不是是7?
呵呵:)
你这个和2楼是一样的。

是的是的,哈哈
我试了下,发现$filesize= -s $filename;是可以的,而用这个模块却不行啊,为什么呢?
use File::stat;
$filesize = (stat($filename))[7];