Schrift
[thread]7156[/thread]

tastendruck->ereignis

Leser: 2


<< >> 4 Einträge, 1 Seite
Strazke
 2005-07-24 13:28
#56648 #56648
User since
2005-07-11
120 Artikel
BenutzerIn
[default_avatar]
Hallo, ich habe folgendes problem: Ich will eine Uhr auf der Konsole in mein prog einbauen. Nun habe ich das folgendermaßen gelöst:
Code: (dl )
1
2
3
4
5
while(1){
$time=time;
system("clear");
print($time);
system("sleep 1"); }


Aber wie kann ich jetzt bei Tastendruck bestimmte Ereignisse auslösen? Z.B. wenn ich q drücke beendet das Programm?

Ich benutze übrigens Linux, false man da was mit der Narichtenschleife machen muss (es gibt doch auch eine unter Linux, oder?)
renee
 2005-07-24 14:10
#56649 #56649
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du könntest es mit fork lösen:
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
#! /usr/bin/perl

$| = 1;

use strict;
use warnings;

my $pid = fork();

if($pid == 0){
# Hier bin ich im Child-Prozess
while(1){
my $time=time;
system("cls");
print($time);
sleep 1;
}
}
else{
# Hier bin ich im Parent-Prozess
while(my $input = <STDIN>){
chomp $input;
if($input eq 'q'){
kill 9,$pid;
}
}
}
\n\n

<!--EDIT|renee|1122200054-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
[E|B]
 2005-07-24 14:11
#56650 #56650
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Term::ReadKey
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Strazke
 2005-07-25 11:48
#56651 #56651
User since
2005-07-11
120 Artikel
BenutzerIn
[default_avatar]
Danke, klappt super.
<< >> 4 Einträge, 1 Seite



View all threads created 2005-07-24 13:28.