[Dresden-pm] Problem mit Moduleinbindung
Thomas Rittsche
thomas.rittsche at gmail.com
Mi Aug 15 01:31:41 PDT 2007
> Steffen Winkler's Kritik klingt vielleicht etwas roh am frühen Morgen,
Ach wo - Lehrjahre sind keine Herrenjahre ;)
> prinzipiell sind seine Tips aber Gold wert.
Das ist wohl war.... Vielen Dank dafür Steffen!!!
> Hier eine Problemzone, die beim Zusammenbauen von Strings eine Ursache
> sein kann:
> > ($value{'a'}, $value{'b'}, $value{'c'}) =
> > eval"$myModul::calculate(\%val)";
> ^ ^^ ^
>
> Es ist nicht sicher, ob Du versuchst, das % zu escapen, oder ob Du
> eine Hashreferenz möchtest. Momentan escapest Du nur mit dem \
> innerhalb der Doppelhochkommas.
Da hast du (wie so oft) Recht. Verstehe....
Wir habens jetzt über die "Winklersche" Methode gelöst:
use Carp qw(croak);
eval "require $productCalculate";
croak $@ if $@;
if(my $coderef = UNIVERSAL::can($productCalculate, $sub)){
($value{'netto'}, $value{'mwstprice'}, $value{'brutto'}) = $coderef->(\%val);
}
Allerdings mit dem Unterschied, das wir beim eval Hochkommas
verwenden. Die vorgeschlagenen geschweiften Klammern habe Probleme
verursacht.
Vielen Dank für Eure Hilfe!!!!
Gruß Thomas