Pygo: use strict und eval

Beitrag lesen

Hallo,

Ich möchte gerne Objekte durch eine pipe von Child an Parent-Prozesse schicken. Zu diesem Zweck möchte ich gerne Data::Dumper und eval verwenden. Allerdings kriege ich jetzt einen Fehler, der durch use strict hervorgerufen wird. Hier mal der glaub wichtigste Teil meines Codes:

[...]
my $pid = fork();

if($pid){
 [...]
 my $actual_line = <$pipe>;
 my $newobj = eval $actual_line || die $@;

$newobj->print();
}else{
 [...]
 my $object = new MyClass();
 $object->add_data("schmu");

my $testdump = Data::Dumper->new([$object]);
 $testdump->Indent(0);

my $ausgabe = $testdump->Dump;
 print $ausgabe;
 print $pipe $ausgabe;
 [...]
}
<<<<<

Die erzeugte Ausgabe sieht dabei wie folgt aus:

$VAR1 = bless( {'dates' => 'schmu'}, 'MyClass' );

Global symbol "$VAR1" requires explicit package name at (eval 1) line 1, <GEN0> line 1.
<<<<<

Ich habe leider noch nicht rausgefunden, wie ich denn diesen generischen Namen irgendwo als my oder was auch immer deklarieren soll. Wenn ich use strict weglasse, sehe ich, dass das eval sonst zu tun scheint, sogar mit $newobj->print() wird die 'objekteigene' print-routine ausgeführt.

Vielen Dank für Hilfe - Pygo