Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12057[/thread]

JavaScript in Perl übersetzen (Seite 6)

Leser: 2


<< |< 1 ... 3 4 5 6 >| >> 53 Einträge, 6 Seiten
Nicki271
 2009-02-25 13:15
#119127 #119127
User since
2008-06-23
26 Artikel
BenutzerIn
[default_avatar]
So, ich habe fertig :-)))

Es scheint sogar zu funktionieren - es sei denn ich habe was übersehen...




Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#! /usr/bin/perl -w

use strict;
use CGI;


print CGI::start_html();

if( CGI::param('submit') )
{
     my $betrag = CGI::param('betrag') || 0;
     my $auswahl = CGI::param('button');
     $betrag =~ tr/,/./;
     my $ausgabe = $auswahl eq 'DM2EUR' ? $betrag / 1.95583 : $betrag * 1.95583;
     my $einheit_vorher = $auswahl ne 'DM2EUR' ? 'EUR' : 'DM';
     my $einheit_nacher  = $auswahl eq 'DM2EUR' ? 'EUR' : 'DM';
     print CGI::p( sprintf '%.2f %s sind %.2f %s', $betrag, $einheit_vorher, $ausgabe, $einheit_nacher);
}
print formular();
print CGI::end_html();

sub formular
{
    return CGI::start_form()
    . CGI::p( 'Geben Sie bitte den umzurechnenden Betrag ein:')
    . CGI::p( CGI::textfield( -name => "betrag") )
    . CGI::p('Ihre Wahl?')
    . CGI::radio_group(-name => 'button', -labels => { 'DM2EUR' => 'DM in EURO', 'EUR2DM' => 'EURO in DM'},
    -values => [ 'DM2EUR', 'EUR2DM' ]
    )
    . CGI::p( CGI::submit( -name => 'submit', -value => 'Umrechnen') )
    . CGI::end_form()
    ;
}
Linuxer
 2009-02-25 15:26
#119131 #119131
User since
2006-01-27
3872 Artikel
HausmeisterIn

user image
Schaut recht passend aus.

Habe es jetzt nur kurz auf der Kommandozeile getestet, nicht im Browser.

Läuft bei mir anscheinend fehlerfrei durch und auch die Ausgabe sieht auf den ersten Blick akzeptabel aus. Es sind noch ein paar Feinheiten, die man korrigieren könnte, aber die sind - so glaube ich - zu weitreichend, als daß sie für die eigentliche Aufgabe relevant wären (Ich denke da an die gewählte Sprache [default: en-US], unbetitelte Seite, ...).
Auch würde ich das CGI-Modul anders nutzen (ich würde das OO-Interface nehmen; ansonsten kann man die Funktionen auch importieren, sodass man sich das wiederholte 'CGI::' sparen könnte), aber das sind ebenfalls Feinheiten, auf die man später noch eingehen kann. Sie sollten schon beachtet werden, aber ich sehe sie nicht als derzeit empfindlich dringend an.

Wenn es in einer "echten" CGI-Umgebung laufen soll, dann fehlt noch die Ausgabe des Headers, bevor irgendwelche Daten ausgegeben werden.
Schau Dir dazu mal die Funktion header() vom CGI Modul an.

edit: fehlenden Nebensatz nachgetragen.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Nicki271
 2009-02-25 15:44
#119132 #119132
User since
2008-06-23
26 Artikel
BenutzerIn
[default_avatar]
Das habe ich beim nachlesen auch gesehen, aber für die Aufgabe scheint es noch nicht so wichtig zu sein.

Ich bin froh, dass es funktioniert :-)

Die anderen Aufgaben habe ich schon geschafft alleine zu lösen :-)
Schicke die ganzen Aufgaben jetzt mal weg und warte was der Lehrgangsleiter dazu sagt...

Und - vielen vielen Dank für Deine Hilfe.
<< |< 1 ... 3 4 5 6 >| >> 53 Einträge, 6 Seiten



View all threads created 2008-06-23 09:29.