Filehandle存储在散列变量中,读作GLOB

时间:2017-12-18 17:00:03

标签: perl file

Perl版本5.22

当我尝试这样的简单输出时,它可以工作。文件输出正常,可以继续:

open my $IN, '<', 'somefile.txt' or die ('Failed to open');
while (my $line = <$IN>) {
  chomp $line;
  print $line;
}
close ($IN);

但是,以下内容不起作用:

my %filehandles;
open $filehandles{'IN'}, '<', 'somefile.txt' or die ('Failed to open');
while (my $line = <$filehandles{'IN'}>) {
  chomp $line;
  print $line;
}
close ($filehandles{'IN'});

在第二个例子中打印$line时,它只输出类似GLOB(0x ...)的内容,我假设它只是类型。 在第二个示例中,我不想要GLOB,而是文件内容。

我想使用哈希方法,因为我的代码可能需要打开一个可变数量的文件处理程序,我应该能够在函数末尾干净地关闭它们。那么我有什么小的东西吗?

0 个答案:

没有答案