Thread fileevent: Habe Code fertig (6 answers)
Opened by Froschpopo at 2005-04-10 16:44

Froschpopo
 2005-04-10 16:44
#43420 #43420
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
diesmal könnt ihr mich nicht hinweisen, ich hätt mal die perldoc lesen sollen...
also folgendes: Ich will nen Ping in echtzeit in ein Textwidget schreiben. Da das Programm auch noch andere dinge tun soll, will ich das ganze mit nem fileevent machen.
mein code sieht so aus:
Code: (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
#!/usr/bin/perl

use warnings;
use Tk;

open(PING, "ping 127.0.0.1 -t |")
or die "Fehler: $!\n";

my $mw = MainWindow->new();

my $t = $mw->Text(-width => 80, -height => 25, -wrap => 'none');

$t->pack(-expand => 1);

$mw->fileevent(\*PING, 'readable', [\&print_widget, $t]);

MainLoop;

sub print_widget {

my($widget) = @_;

$_ = <PING>;
print $_;
$widget->insert('end', $_);
$widget->yview('end');

}


Es gibt keine Fehlermeldung, es scheint irgendwie vom Syntax richtig zu sein. Allerdings füllt er das Textwidget nicht. Wieso?

View full thread fileevent: Habe Code fertig