in reply to Multiple simultaneous filehandles
The problem is I get a "Can't use string ("OUTPUT1") as a symbol ref while "strict refs" in use" error. Where have I gone wrong?
Others already told you what you're doing wrong, and I also concur with grep that you're making things overly complicated. I want to contribute, and here's how I'd do it:
#!/usr/bin/perl use strict; use warnings; chomp(my $line=<>); my @line=split /\t/, $line; { my @fh=map { my $fname=sprintf 'output%02d.txt', $_; open my $fh, '>', $fname or die "Can't open `$fname': $!\n"; $fh } 1..$#line; sub doline { my $one=shift; print { $fh[$_] } "$one\t$_[$_]\n" for 0..$#_; } } doline @line; chomp, doline split /\t/ while <>; __END__
|
|---|