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

GwenDragon
 2012-04-14 13:50
#157486 #157486
User since
2005-01-17
14533 Artikel
Admin1
[Homepage]
user image
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/usr/bin/perl

use 5.008;
use strict;
use warnings;

# Grobkonzept

use CGI;

my $cgi = CGI->new();

my $zahl_1 = $cgi->param('Zahl1');
my $zahl_2 = $cgi->param('Zahl2');
my $rechenart = $cgi->param('Rechenart');
my $ergebnis = 0;

sub Berechne {
        my $z1 = shift;
        my $z2 = shift; 
        my $ra = shift;
        
        chomp($z1);
        chomp($z2);
        chomp($ra); 
        
        my $erg;
        
        if ( $ra eq '+' )
        {
          $erg =  $z1 + $z1;
        }
        elsif ( $ra eq '-' )
        {
          $erg = $z1 - $z2;
        }
        elsif ( $ra eq '*' )
        {
          $erg = $z1 * $z2;
        }
        elsif ( $ra eq '/' )
        {
          if ($z2 != 0) {
            $erg = $z1 / $z2;
          }
          else {
             $erg = "Zweite Zahl darf nicht 0 sein!";
          }
        }
        else {
          $erg = "Rechenart '$ra' unbekannt!";
        }
        
        return $erg;    
}

print $cgi->header;

if (  length($zahl_1) 
  and length($zahl_2) 
  and length($rechenart) 
  ) 
{  
  $ergebnis = Berechne($zahl_1, $zahl_2, $rechenart);
  print <<"HTML";
<html>
        <head>
                <title>Antwortseite des CGI-Programms</title>
        </head>
        <body>
                <p>
                        <br>$ergebnis</b>
                </p>
        </body>
</html>
HTML
}
else {
  print <<"HTML";
<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>
HTML
}


//EDIT:
Das lässt sich alles noch verbessern und anders strukturieren.

HTML lässt sich mit CPAN:CGI erzeugen oder mit CPAN:HTML::Template oder CPAN:HTML::Template::Compiled samt Variablen ausgeben.
Last edited: 2012-04-14 14:14:27 +0200 (CEST)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread CGI-Taschenrechner bauen