Thread CGI::Push
(10 answers)
Opened by quad at 2012-03-15 14:40
ich darf dir die Benutzung der Module strict und warnings wärmstens ans Herz legen! Da wird dir schon durch Perl angezeigt, wo was nicht stimmt.
Wie wäre es damit (ich hoffe, das meintest du): 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 #!/usr/bin/perl use strict; use warnings; $|=1; # Ausgabepufferung für STDOUT ausschalten use CGI::Push qw(:standard); my $min = 1; my $max = 10; # do_push läuft von allein in einer Schleife! do_push( -next_page=>\&status, # die aufzurufende Routine übernimmt keine Parameter -delay=>1 ); sub randomtestdata { my ($min,$max) = @_; return rand($max-$min); # als Beispiel Zufallsdaten } sub status{ my $data = $min + 1.5 * randomtestdata($min,$max); # hole Daten! # globale Variablen $min und $max müssen hier als # Abbruchbedingung genommen werden anstatt einer äußeren Schleife return undef if $min++ > $max; # Zähle hoch, breche ab, wenn $min zu groß # sonst gib was aus return start_html('Status'), div( {-align=>'CENTER'}, h1('Virtual Status'), h2($data) ), end_html(); } //EDIT: korrekte Version eingefügt, Ausgabepufferung STDOUT Last edited: 2012-03-15 18:19:56 +0100 (CET) |