相关疑难解决方法(0)

尝试打印到已关闭的文件句柄没有错误或警告

在下面的小代码中,我没有收到行 [09] 和 [18] 的错误或警告。我得到的唯一警告是第 [21] 行:

use strict;                                              # [01]
use warnings FATAL => 'unopened';                        # [02]
                                                         # [03]
open(my $outHandleA, ">outputA.txt") or die ("A: $!\n"); # [04] Opened $outHandleA
print $outHandleA "FILE A\n";                            # [05]
close $outHandleA;                                       # [06] Closed $outHandleA
                                                         # [07]
print $outHandleA;                                       # [08]
print $outHandleA "ABC\n";                               # [09] <---
print $outHandleA;                                       # [10]
print "-----";                                           # [11]
                                                         # [12]
open(OUT, ">outputB.txt") or die ("B: $!\n");            # [13] Opened OUT
print OUT "FILE B\n";                                    # …
Run Code Online (Sandbox Code Playgroud)

perl warnings filehandle

7
推荐指数
1
解决办法
144
查看次数

Perl如何解析未引用的裸词?

在Perl中,无引号的单词似乎有很多含义。

print STDERR $msg;

$hash{key}

func( param => $arg )

my $x = str;
Run Code Online (Sandbox Code Playgroud)

如何确定这些含义?

perl parsing

5
推荐指数
1
解决办法
150
查看次数

将文件句柄变量从 STDOUT 重新分配给没有 undef() 的文件时,Perl 的奇怪行为

执行以下简化代码时:

use strict;                                          # [01]
use warnings FATAL => 'unopened';                    # [02]
                                                     # [03]
my ($inHandle, $outHandle) = (\*STDIN, \*STDOUT);    # [04]
print $outHandle "STDOUT  1\n";                      # [05]
                                                     # [06]
# $outHandle re-assigned to outputA.txt ???          # [07]
open($outHandle, ">outputA.txt") or die ("A: $!\n"); # [08]
print $outHandle "FILE A\n";                         # [09]
print             "STDOUT? 2\n";                     # [10]
print STDOUT      "STDOUT  3\n";                     # [11]
close $outHandle;                                    # [12]
                                                     # [13]
# $outHandle is closed                               # [14]
print STDOUT      "STDOUT  4\n";                     # …
Run Code Online (Sandbox Code Playgroud)

perl warnings stdout filehandle

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

标签 统计

perl ×3

filehandle ×2

warnings ×2

parsing ×1

stdout ×1