| 1 |
## ---------------------------------------------------------------------- |
| 2 |
## $Id: Scalar.pm,v 1.1 2003/02/18 15:40:07 joko Exp $ |
| 3 |
## ---------------------------------------------------------------------- |
| 4 |
## $Log: Scalar.pm,v $ |
| 5 |
## Revision 1.1 2003/02/18 15:40:07 joko |
| 6 |
## + initial commit |
| 7 |
## |
| 8 |
## ---------------------------------------------------------------------- |
| 9 |
|
| 10 |
|
| 11 |
package Data::Mungle::Code::Scalar; |
| 12 |
|
| 13 |
use strict; |
| 14 |
use warnings; |
| 15 |
|
| 16 |
|
| 17 |
sub eval { |
| 18 |
my $self = shift; |
| 19 |
my $content = shift; |
| 20 |
my $varnames = shift; |
| 21 |
|
| 22 |
# use vars @ runtime |
| 23 |
if ($varnames) { |
| 24 |
my @evs; |
| 25 |
my @vars = split(' ', $varnames); |
| 26 |
foreach my $varname (@vars) { |
| 27 |
push @evs, "use vars qw( \$$varname );"; |
| 28 |
} |
| 29 |
my $ev = join("\n", @evs); |
| 30 |
eval($ev); |
| 31 |
} |
| 32 |
|
| 33 |
my $result = eval($content); |
| 34 |
if ($@) { |
| 35 |
$self->log($@, 'error'); |
| 36 |
return; |
| 37 |
} |
| 38 |
return $result; |
| 39 |
} |
| 40 |
|
| 41 |
1; |
| 42 |
__END__ |