我知道如何用perl读/写/打开文件。我想要实现的是;当现有文件超过'x'大小时,如何创建新文件?例如,我有一个3MB大小的文件,在写入相同的文件之前,检查大小,如果大小超过3MB,创建一个新文件,如果需要,chmod它,然后写入。
我不知道我的问题是否清楚-
$size = -s '/path/to/file.txt';
if(($size / 1048576) > 3) { print "too big"; } else { do_something(); }
你可以使用stat:
http://perldoc.perl.org/functions/stat.htmlstat为您提供了关于给定文件的大量信息,包括大小。
的例子:
use File::stat;
my $filesize = stat("test.txt")->size;
一旦确定文件足够大,可以使用-s
进行旋转,则可以使用Logfile:: rotate来进行旋转。