Hi,
$betragRund = sprintf("%.2f", $betrag);
Benutze ich printf verrutscht in meiner HTML-Ausgabe eine Zahl links oben in die Ecke und mein
$betragRund ist einfach immer nur eins.
printf macht eine Ausgabe und gibt, wie jede geglückte Aktion, einen wahren Wert zurück, also 1. Genauso wird nach "my $temp = print 'bla';" in $temp der Wert 1 stehen.
use strict;
use CGI qw(:standard);
Sehr schön!
my($betrag, [...]
my $betrag [...]
Das hingegen ist etwas zu viel des Guten :-) Bitte nur ein 'my' pro Variable und Scope.
my $betrag = param('betrag');
Übrigens ist $betrag undef, wenn kein entsprechender Parameter an das CGI-Script übergeben wurde. Besser wäre in solchen Fällen:
my $betrag = param('betrag') || 0;
$wahl = param('devisen');
Noch'n übrigens: Du kannst auch mehrere Variablen gleichzeitig deklarieren und füllen, inklusive Defaultwerte:
my ($betrag, $wahl, $eurokurs) = (param('betrag')||0, param('devisen')||1, 1.95583);
Cheatah