my $foo = do { package Foo; local $/; ; };
works, reads the __DATA__ section in Foo and writes it to $foo
my $class = 'Bar';
my $bar = do { eval "package $bar"; local $/; ; };
does not work - probably because eval "package $bar" has its own scope.
#!/usr/bin/perl
use strict;
use warnings;
my $class = 'Foo';
my $foo = do{ eval "package $class; local \$/; "};
print $foo;
package Foo;
__DATA__
Dies
ist
ein
Test
perlmonks.org content © perlmonks.org and esskar, ikegami, reneeb
prlmnks.org © 2006 edmund von der burg (eccles & toad)
v 0.03