Thread CGI-Taschenrechner bauen (11 answers)
Opened by frank1967 at 2012-04-14 11:49

frank1967
 2012-04-14 11:49
#157482 #157482
User since
2012-04-14
5 Artikel
BenutzerIn
[default_avatar]
Hallo,

bin Perl-Neuling und bräuchte mal eure Hilfe.
Ich habe in Perl ein Taschenrechnerscript geschrieben, welches auf Kommandozeilenebene auch funktioniert.
Nun möchte ich dieses Taschenrechnerscript zu einem CGI-Taschenrechner umbauen, wobei ich esrtmal auf Module verzichten möchte.
Das HTML-Formular habe ich schon erstellt:
Hier ist das Formular:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
<head>
<title>Taschenrechner</title>
</head>
<body>
<h1>Taschenrechner</h1>
<form action="/cgi-bin/Taschenrechner.pl" method=post>
<p>Zahl 1: <input size="4" maxlength="3" name="Zahl1">
<br>
Zahl 2: <input size="4" maxlength="3" name="Zahl2">
<br>
Rechenart: <input size="2" maxlength="3" name="Rechenart">
<br>
<input type="SUBMIT" value="Berechnen">
<input type="reset" value="Reset">
</p>
</form>
</body>
</html>


Das Taschenrechnerscript sieht folgendermaßen aus:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/Perl/bin/perl.exe -w 
# einfaches Taschenrechnerprogramm

use strict;
use warnings;

print "Bitte die erste Zahle eingeben: ";

# Zahl 1
$z1 = <STDIN>;
chomp $z1;

print "\nBitte die zweite Zahl eingeben: ";

# Zahl2
$z2 = <STDIN>;
chomp $z2;

print "\nBitte die Rechenart eingeben (+, -, * oder/:";

#Rechenart
$ra = <STDIN>;
chomp $ra;

if ( $ra eq '+' )
{
  $erg =  $z1 + $z2;
}
elsif ( $ra eq '-' )
{
  $erg = $z1 - $z2;
}
elsif ( $ra eq '*' )
{
  $erg = $z1 * $z2;
}
elsif ( $ra eq '/' )
{
  $erg eq $z1 / $z2;
}
else 
{
  print "Diese Rechenart ist mir nicht bekannt!";
  die;
  #stirb - Programmabruch
}
print "\nDie Rechnung: $z1 $ra $z2 = $erg\n";


Ich habe schon mal folgendes geschrieben:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/Perl/bin/perl -w
# einfaches Taschenrechnerprogramm
use strict;
use warnings;

read(STDIN, $input, $ENV{ 'CONTENT_LENGTH'});

#Anfang der HTML-Seite und Ausgabe von $input
print "Content-type: text/html\n\n";
print "<html>";
print "<head>";
print "<title>Antwortseite des CGI-Programms</title>";
print "</head>n\";
print "<body>";
print "<p>";
print "<br>$input</b>\n";


Wie kann man die im HTML-Formular eingegebenen Daten verarbeiten und das Ergebnis als HTML ausgeben lassen?
Ich finde irgendwie keinen Ansatz.
Über Lösungsansätze wäre ich echt dankbar.
Viele Grüße.
frank1967

modedit Editiert von GwenDragon: HTML + Perl in Code-Tags gestellt; Einrückungen ergänzt
Last edited: 2012-04-14 12:00:36 +0200 (CEST)

View full thread CGI-Taschenrechner bauen