open 有一个特殊的地方,就是如果你给它一个未定义(这是为什么用hash的原因)的变量做间接文件句柄,那么 Perl 会自动为你定义那个变量,也就是自动把它激活,使它包含一个合适的文件句柄引用。

#!/usr/bin/perl -w
use strict;
use warnings;
use FileHandle;

my %fh;
my @array = (1..10);

for(1..5){
        open $fh{$_},">$_.txt" or die;
}
for(1..5){

        #print $fh{$_} "$_\n";  此处错误

        $fh{$_}->print( "$_\n" ); 

    #为FileHandle里的函数 或 用(my $h = $fh{$_};  print $h "$_\n";)亦可
 }

注意:上述错误是由于:<>里面不是简单标量就会被当glob,Perl 支持 <FILEHANDLE> 或者是 <$scalar> .

相关文章:

  • 2022-12-23
  • 2021-10-09
  • 2021-07-07
  • 2022-02-09
  • 2021-10-03
  • 2022-01-29
  • 2021-10-13
  • 2021-04-02
猜你喜欢
  • 2022-01-07
  • 2021-07-07
  • 2022-12-23
  • 2021-10-21
  • 2022-03-02
  • 2022-01-26
  • 2021-07-20
相关资源
相似解决方案