211 |
# placeholder for all repeatable entries for index |
# placeholder for all repeatable entries for index |
212 |
|
|
213 |
sub chk_eval($) { |
sub chk_eval($) { |
214 |
my $data = shift; |
my $data = shift || return; |
215 |
if ($data =~ s/eval{([^}]+)}//) { |
if ($data =~ s/eval{([^}]+)}//) { |
216 |
if (eval "$1") { |
if (eval "$1") { |
217 |
return $data; |
return $data; |
291 |
} |
} |
292 |
# type="swish" ; field for swish |
# type="swish" ; field for swish |
293 |
if ($swish) { |
if ($swish) { |
294 |
|
my $tmp; |
295 |
if ($filter && ($s || $se)) { |
if ($filter && ($s || $se)) { |
296 |
no strict 'refs'; |
no strict 'refs'; |
297 |
my $tmp = join(" ",&$filter($swish)) if ($s || $se); |
my $tmp = join(" ",&$filter($swish)) if ($s || $se); |
|
$swish_data .= $tmp if ($s); |
|
|
$swish_exact_data .= "xxbxx $tmp xxexx " if ($se && $tmp ne ""); |
|
|
|
|
298 |
} else { |
} else { |
299 |
$swish_data .= $swish if ($s); |
$tmp = $swish; |
|
$swish_exact_data .= "xxbxx $swish xxexx " if ($se && $swish ne ""); |
|
300 |
} |
} |
301 |
|
|
302 |
|
$tmp = chk_eval($tmp); |
303 |
|
$swish_data .= $tmp if ($s); |
304 |
|
$swish_exact_data .= "xxbxx $tmp xxexx " if ($se && $tmp ne ""); |
305 |
} |
} |
306 |
|
|
307 |
# type="display" ; field for display |
# type="display" ; field for display |
343 |
if ($lookup_key) { |
if ($lookup_key) { |
344 |
print STDERR "WARNING: try to redefine lookup_key (keys shouldn't be repeatable fields!)"; |
print STDERR "WARNING: try to redefine lookup_key (keys shouldn't be repeatable fields!)"; |
345 |
} else { |
} else { |
346 |
$lookup_key = $display; |
if ($filter) { |
347 |
|
no strict 'refs'; |
348 |
|
$lookup_key = &$filter($display); |
349 |
|
} else { |
350 |
|
$lookup_key = $display; |
351 |
|
} |
352 |
} |
} |
353 |
} elsif (lc($x->{type}) eq "lookup_val") { |
} elsif (lc($x->{type}) eq "lookup_val") { |
354 |
if ($lookup_key) { |
if ($lookup_key) { |
355 |
$lhash{$lookup_key} = $display; |
if ($filter) { |
356 |
|
no strict 'refs'; |
357 |
|
$lhash{$lookup_key} = &$filter($display); |
358 |
|
} else { |
359 |
|
$lhash{$lookup_key} = $display; |
360 |
|
} |
361 |
} else { |
} else { |
362 |
print STDERR "WARNING: no lookup_key defined for '$display'?"; |
print STDERR "WARNING: no lookup_key defined for '$display'?"; |
363 |
} |
} |