perl如何用一个数组储存多个文件句柄?
最近工作需要要处理大量的文件,格式基本相同,处理的操作也相同。
想用一个文件句柄数组来存储文件句柄
比如:
- Perl code
my @filehandler = qw("A" "B");my @file_directory = qw(D:/Cuijian/ID_conversion.pl D:/Cuijian/ID_conversion.pl);my $i = 0;for($i = 0; i$ < length(@filehandler); $i++){open($filehandler[$i], "$file_directory[$i]")|| die "cannot open the file at $!"; # ask herewhile($filehandler[$i]){ print $_;}}
但是,有几个问题:
1. 这样打印的东西就是: 文件句柄数组中的内容: “A”“B”
2. 而且不能加上: use strict
3. 但是如果只定义一个变量如 : $filehandler = "A" 时,结果没有问题
请大家提出解决方案
[解决办法]
- Perl code
my @file_directory = qw(D:/Cuijian/ID_conversion.pl D:/Cuijian/ID_conversion.pl);for my $dir (@file_directory) { open my $file , $dir || die "cannot open the file at $!" while (<$file>) { } close $file;}