@ Crian
Danke für die Info. Schon wieder was gelernt. Ja, ich weiß, bei mir steht noch ein dickes Buch "Objektorientiert programmieren mit Perl" im Regal, das ich unbedingt mal lesen sollte ;-). Da das alles aber nur ein mehr oder weniger aus der Not geborenes Hobby ist und die Zeit...
@ all:
Einen Teil des Problems habe ich möglicherweise gefunden:
Die Variablen $shippingCosts und $shippingCostsCD werden mit "undef" initialisiert
my $shippingCosts = undef;
my $shippingCostsCD = undef;
Weiter unten werden die Werte der Variablen mit dem >-Oberator verglichen
if ( $shippingCostsCD > $shippingCosts ) {
$total = $total + $shippingCostsCD;
}
Der Vergleich von undef-Werten scheint wohl ein Problem zu sein.
Wenn ich die Variablen mit "0" initialisiere, tritt der Fehler schon seltener auf. Bei manchen "Konstellationen" des Arrays @picOptions tritt der Fehler noch auf. Möglicherweise ist auch hier der Fehler bei den Vergleichsoperationen in calculateShipping() zu suchen, muss ich noch austesten.