Subject: | Must use GLOB name instead of ARRAY element number |
print $obj .pp $obj;
My=GLOB(0x1991670)
do {
require Symbol;
my $a = bless(Symbol::gensym(), "My");
*{$a} = \4;
*{$a} = [\*My::$in, \*My::$out];
*{*{$a}{ARRAY}[0]} = bless(IO::File=IO(0x194c478), "IO::File");
*{*{$a}{ARRAY}[1]} = bless(IO::File=IO(0x1a31848), "IO::File");
*{$a} = { test => 3 };
$a;
}
Something deep at me expects *My::$in instead of *{$a}{ARRAY}[0]
But I may wrong...
The code of My package:
package My;
use Symbol;
sub new {
my $fh = gensym;
my $self = bless $fh, 'My';
open my $in, "<t_in";
open my $out, ">t_out";
*$self = [ $in, $out ];
*$self = { test => 3 };
my $var = 4;
*$self = \$var;
return $self;
}