Variablen steuern

Hallo ,

ich habe hier zwei Variablen, die Werte aus einer Datenbank einlesen:

$nr=GetTLELoopData(‚BasketPositions‘,$i,‚ProductNo‘);
$Price=GetTLELoopData(‚BasketPositions‘,$i,‚Nettopreis‘);
OverrideProductPrice($nr,$Price);

Hier soll, wenn der Nettopreis keine Zahl enthält, der Text „Kein Preis
vorhanden“ angezeigt werden.
Wie kann ich dies am besten realisieren??? Habe schon ein Code geschrieben,
es klappt einfach net…

$nr=GetTLELoopData(‚BasketPositions‘,$i,‚ProductNo‘);
$Price=GetTLELoopData(‚BasketPositions‘,$i,‚Nettopreis‘);
if ( Nettopreis == " " )
{
SaveTLE(‚Nettopreis‘, „Kein Preis vorhanden!“)
}
else
{
OverrideProductPrice($nr,$Price)
};

Danke für Eure Hilfe im voraus.
Frank

Hier soll, wenn der Nettopreis keine Zahl enthält, der Text
„Kein Preis
vorhanden“ angezeigt werden.
Wie kann ich dies am besten realisieren??? Habe schon ein Code
geschrieben,
es klappt einfach net…

$nr=GetTLELoopData(‚BasketPositions‘,$i,‚ProductNo‘);
$Price=GetTLELoopData(‚BasketPositions‘,$i,‚Nettopreis‘);
if ( Nettopreis == " " )
{
SaveTLE(‚Nettopreis‘, „Kein Preis vorhanden!“)
}

Statt ‚==‘ möchtest Du ‚eq‘ verwenden, weil die Variable $Price vermutlich ein String ist.
Ausserdem stimmt die Variable in der Abfrage nicht.
also:
if ( $Price eq ‚‘ )
{
}

Ich würde Dir raten in Deinem Programm
use strict;
zu verwenden, das deckt solche Sachen schneller auf.

Klaus

wobei ‚‘ zwei einzelne Hochkommas sind, kein einzelnes doppelhochkomma ". Das sieht bei der Schrift hier gleich aus.
das ganze:

$nr=GetTLELoopData('BasketPositions',$i,'ProductNo');
$Price=GetTLELoopData('BasketPositions',$i,'Nettopreis');
if ( ($price eq '') || (!defined($price) ) { #$price leer oder nicht definiert
 SaveTLE('Nettopreis', "Kein Preis vorhanden!");
} else {
# sonst
}

Der Hinweis mit dem use strict; ist sehr gut.
Bei fremden Scripts die das nicht verwenden ist aber manchmal etwas Handarbeit nötig.

Der Hinweis mit dem use strict; ist sehr gut.
Bei fremden Scripts die das nicht verwenden ist aber manchmal
etwas Handarbeit nötig.

Danke, was meint Ihr mit use strict ???
Gruß, Frank

Danke, was meint Ihr mit use strict ???

use strict;
ist ein Pragma das (u.a) Perl dazu anweist Variablendeklaration zu erzwingen:

Falsch:
use strict;
$a=1; $b=2; print $a+$b;




Richtig:
use strict;
my ($a, $b);
$a=1; $b=2; print $a+$b;