小编Dav*_*vid的帖子

(空?)读取线的返回没有被控制结构捕获

我有一个包含打开的文件句柄的多维哈希,SEEK_END目的是始终读取最新的行而不需要太多的I/O(我会得到的tail).

我现在通过for循环遍历所有这些句柄并调用readline它们.

它看起来像这样:

for $outer ( keys %config ) {

    my $line = readline($config{$outer}{"filehandle"});

    if (not defined $line || $line eq '' ){
        next;
    }
    else{
        print "\nLine: -->".$line."<--\n";
        $line =~ m/(:)(\d?\.?\d\d?\d?\d?\d?)/;
        $wert = $2;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果将新内容写入这些文件,我的脚本会读取它并按照计划行事.

问题是,readline通常会返回任何结果,因为目前还没有在文件的结尾,但我if似乎并没有确定的空返readlineundef为空-它只是打印什么,这是因为没有将正确的这个字符串中没有任何内容,但我根本不希望它被处理.

perl for-loop if-statement filehandle

2
推荐指数
1
解决办法
42
查看次数

标签 统计

filehandle ×1

for-loop ×1

if-statement ×1

perl ×1