use strict;
use warnings;
####
use autodie;
####
$data_type_number=@data_type_array;
for($i=0;$i<$data_type_number;$i++)
{
...
}
####
for (0 .. $#data_type_array) {
...
}
####
#!/usr/bin/env perl -l
use strict;
use warnings;
use autodie;
use constant {
FILENAME => 0,
FILEHANDLE => 1,
};
my %file = (
animal => [ 'pm_1155794_animal.txt' ],
plant => [ 'pm_1155794_plant.txt' ],
goods => [ 'pm_1155794_goods.txt' ],
);
while () {
my ($item, $type) = split;
print { get_fh($type) } $item;
}
sub get_fh {
my $type = shift;
open $file{$type}[FILEHANDLE], '>', $file{$type}[FILENAME]
unless defined $file{$type}[FILEHANDLE];
return $file{$type}[FILEHANDLE];
}
__DATA__
cat animal
apple plant
strawberry plant
muffler goods
####
$ cat pm_1155794_animal.txt
cat
$ cat pm_1155794_plant.txt
apple
strawberry
$ cat pm_1155794_goods.txt
muffler