Thread CGI::Push (10 answers)
Opened by quad at 2012-03-15 14:40

GwenDragon
 2012-03-15 15:10
#156881 #156881
User since
2005-01-17
14510 Artikel
Admin1
[Homepage]
user image
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)
die Drachin, Gwendolyn


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

View full thread CGI::Push