我知道如何在perl中读取|打开|打开文件。我想要实现的是这个;当现有文件超过“x”大小时,如何创建新文件。例如,我有一个3MB的文件大小,在写入同一文件之前,检查大小,如果大小超过3MB,创建一个新的,如果需要chmod它,然后写。
我不知道我的问题是否清楚 -
答案 0 :(得分:6)
$size = -s '/path/to/file.txt';
if(($size / 1048576) > 3) {
print "too big";
}
else {
do_something();
}
答案 1 :(得分:2)
你可以使用stat:
http://perldoc.perl.org/functions/stat.html
stat为您提供有关给定文件的大量信息,包括大小。
示例:
use File::stat;
my $filesize = stat("test.txt")->size;
答案 2 :(得分:2)
确定文件足够大以使用-s
进行轮播后,可以使用Logfile::Rotate进行轮换。