Are you trying to do something like this?

#!/usr/bin/perl use strict; use Symbol; my %hash; my @dirs; @dirs = qw(ONE TWO THREE FOUR); my %fh; for my $loop (@dirs) { my($from, $to) = (gensym, gensym); pipe ($from, $to) or die "Oops Pipe: $!\n"; select((select($to), $|++ )[0]); # set autoflush $|++; my $test = rand 5; # simulate processing print $to "$test $loop\n"; $fh{"FROM_CHILD_$loop"} = $from; $fh{"TO_PARENT_$loop"} = $to; } for my $loop (@dirs) { my $from = $fh{"FROM_CHILD_$loop"}; my $to = $fh{"TO_PARENT_$loop"}; chomp( my $in = <$from> ); (my $value, my $key) = split(/\ /, $in); $hash{$key} = $value; close $to; close $from; } for my $loop(keys %hash) { print "keys $loop => $hash{$loop}\n"; }

The Symbol::gensym function returns a reference to an anonymous glob which can be used just like a normal file handle.

And with recent Perls (sorry, I'm not sure how recent), you don't even need to call gensym; Perl handles it automatically, so you can just say:

my($from, $to); pipe ($from, $to) or die "Oops Pipe: $!\n"; ... $fh{"FROM_CHILD_$loop"} = $from; $fh{"TO_PARENT_$loop"} = $to;

In reply to Re: FILEHANDLE with $var in name (for pipe) by mla
in thread FILEHANDLE with $var in name (for pipe) by MadMax

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.