#! /usr/bin/perl use strict; sub ist_prim { my $wert = $_[0]; return 1 if ($wert == 2); return 0 if ($wert % 2 == 0); for (my $teiler = 3; $teiler <= sqrt ($wert); $teiler += 2) { return 0 if ($wert % $teiler == 0); } return 1; } print "Content-type: text/html "; my $parameter; if ($ENV{'REQUEST_METHOD'} eq 'POST') { read (STDIN, $parameter, $ENV{'CONTENT_LENGTH'}); } else { $parameter = $ENV{'QUERY_STRING'}; } my %uebergabe; for my $paar (split (/&/, $parameter)) { my $name; my $wert; ($name, $wert) = split (/=/, $paar); $uebergabe{$name} = $wert; } my $ende = $uebergabe{'ende'}; my $zaehler = 0; if ($ende =~ /^\d+$/) { print "

Primzahlen bis $ende:


"; for (my $zahl = 3; $zahl <= $ende; $zahl += 2) { if (ist_prim ($zahl)) { $zaehler++; print ""; if ($zaehler % 10 == 0) { print ""; } } } print "" if ($zaehler % 10 != 0); print "
$zahl
"; } else { print "Der eingegebene Wert ist unzulaessig!"; } print " ";