【发布时间】:2018-05-17 05:12:08
【问题描述】:
我有一个条目数组,将在一个大文件中搜索,然后将每个条目写入其自己的输出文件。数组根据某些条件而变化,因此必须是动态的。
这是我的示例array。
use strict;
use warnings;
my @array = ("ABC",
"DEF",
"GHI",
"JKL",
"MNO",
"PQR"
);
所以我创建了一个循环来打开为每个条目创建一个文件句柄。运行我的命令,然后再次循环关闭文件句柄。
foreach my $handle(@array) {
my $output = "OUTPUT_$handle.txt";
open ($handle, '>', $output) or die "unable to open file $!";
}
#... write to files and do some other fancy stuff ...
foreach $handle(@array) {
close $handle;
}
这将创建:OUTPUT_ABC.txtOUTPUT_DEF.txt.. 等等。
所以我的问题:对我来说,不得不循环打开每个句柄并循环关闭每个句柄似乎很尴尬,有没有更优雅的方法来动态打开和关闭文件句柄?
【问题讨论】:
-
使用词法文件句柄,它们在超出范围时关闭。
标签: perl