0

我有获取给定文件的统计信息的 Perl 脚本。但它不适用于.war文件。(这个文件有符号链接。)

我正在传递具有多个文件的文件位置。

$fntxt指向/dw/xyz/file1.txt. file1.txt/vob/vob1/test.war

执行@Stats=stat($ln);返回一个.war文件的空数组。

open(DAT, $fntxt);
@fnames=<DAT>;
close(DAT);
print "@fnames\n";

foreach $ln (@fnames)
{
    chomp $ln;
    $i = length $ln;   
    if ($i>0)
    {     
    @Stats=stat($ln);
    if (!@Stats)
    {
        print "File [$ln] specified in [$fntxt] does not exist. Correct then rerun.\n";
        exit 255;
    }

    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)
         = localtime((stat($ln))[9]);
    $mon += 1;
    $year += 1900;

    $tstamp = sprintf("%04d%02d%02d%02d%02d.%02d",
        $year,$mon,$mday,$hour,$min,$sec)
}

任何帮助,将不胜感激。

4

1 回答 1

0

使用符号链接(假设有一些 unix 风格),您需要链接到的文件的权限,而不是链接。使用 -l 检测文件是符号链接,使用 readlink 找出它链接到的内容。如果有多个链接(即链接到链接...),请按照它们直到找到文件。

于 2011-08-24T06:22:09.520 回答