This is a question using eval.
Below is some test code using eval.
It worked. A function call was loaded to a variable ($func_name)
and eval calls the function and passes the variables.
$func_name = "&make_shift"; ## load the function call and its name
push(@data, eval"$func_name(4,5,6)"); ## call function and load results in @data
print "This is data @data \n"; # prints "This is data help is on the way 1 2 3"
sub make_shift() {
my($a,$b,$c) = @_;
print "please help \n";
return "help is on the way $a $b $c \n";
}
***************************************************
I used the same logic at work and the eval does NOT respond.
I used ACTIVESTATE's debuger, and it shows all variables have values,
including the $setf, yet the eval does nothing.
$setf = "&SetFieldGG";
&preprint;
sub preprint {
# a lot of code
....
push(@data, eval"$setf($FIELD{$key}, $dataStr, $flagBold, $flagNoWord)");
}
sub setFieldGG { <<-- This is not called
local($Field, $Str, $Flag, $FlagNoWordWrap) = @_;
.....
}
What am I doing wrong?
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]