根据循环中的迭代输出的文件句柄

时间:2012-06-02 18:43:57

标签: perl

我需要查看某些数字并在某个字符串中找到这些数字,然后根据我需要将其输出到某个文件。基本上,我的问题是如何根据循环迭代打开文件句柄以在循环中输出?

示例代码:

$rec_1= "481";

for my $all (@seq)
{ 
  my $match = index($rec_1, $seq[$all]);
  if ($match != -1)
  {
    # I want to open a file handle and output the contents of rec_1
    # accordingly. (there will be 12 different files in the end.)
  }
  else 
  {
    # print the data from rec_1 to not matches (another file)
  }
}

总的来说,我知道有12个序列需要查看,所以我需要检查一下,如果序列在那里,我只需查看rec_1数据,如果rec_1包含序列我将它添加到具有以前数据的文件中。

1 个答案:

答案 0 :(得分:1)

你可以使用像这样的FileHandles数组:

#!/usr/bin/perl
use warnings;
use FileHandle;

my @fh;
$fh[0] = FileHandle->new;
$fh[0]->open( ">file0") or die "open failed";
my $i = 0;
$fh[$i]->print("Output for file 0");