Just a quick suggestion it is recommended to use indirect filehandles instead of INPUT, OUTPUT because those are global and if your application use same name in another part they might collide. So it is recommended the following syntax:
open(my $output_fh, '>> myoutputfile'); open(my $input_fh, '< myoutputfile');
that way you ensure the scope of the file handle is your function/method or package. For further reading read perlopentut
On your problem you don't need a hash to keep the file handle open, you just need to define it in the correct scope, for example:
my $output_fh; while(<$input_fh>) { if ( $some_condition ) { open($output_fh, '>> myfile'); } else { print $fh "What ever i want: $_" if ($fh); #In case you have +some lines before $some_condintion is true; } } close($output_fh);
choroba is right, the scope is for the indirect filehandles
In reply to Re: Reorganizing file contents
by bluescreen
in thread Reorganizing file contents
by tomdbs98
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |