sub fld2str {
my ($func,$row,$f,$sf,$i) = @_;
#print STDERR "## in fld2str\n";
- my $tmp = $codepage->convert(&$func($row,$f,$sf,$i)) || '';
+ my $tmp = $codepage->convert(&$func($row,$f,$sf,$i)) || $codepage->convert(&$func($row,$f,$sf,0)) || '';
return "'$tmp'";
}
$eval =~ s/v(\d+)\^(\w*)/fld2str($func,$row,$1,$2,$i)/eg;
#print STDERR "## eval: $eval\n";
if (eval "$eval") {
+ die "eval error: eval{$eval}: $@" if ($@);
return ($swish,$display);
} else {
+ die "eval error: eval{$eval}: $@" if ($@);
return (undef,undef);
}
}
} elsif ($format =~ s/^([^A-Z\|]+)(\|[A-Z]{1,2}\|)/$2/) {
$prefix .= $1 if ($display);
} else {
- print STDERR "unparsed format: $format\n";
+ #print STDERR "unparsed format: $format\n";
$prefix .= $format;
$format = "";
}