hmm, ich glaub, dass geht nicht in verbindung mit <STDIN>;
hab mal jetzt mit beiden stücken rumgespielt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use strict;
use warnings;
my $pwd = eval {
local $SIG{ALRM} = sub { die "Alarm" };
alarm(5);
my $x = 10;
while($x--) {
print STDERR "sleep $x";
sleep(1);
}
alarm(0);
};
if ($@ and $@ =~ /Alarm/) {
print "Problem! Zeit abgelaufen!\n";
}
else {
print "Alles klar!\n";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use strict;
use warnings;
my $pwd = eval {
local $SIG{ALRM} = sub { die "Alarm" };
alarm(5);
<STDIN>;
my $x = 10;
while($x--) {
print STDERR "sleep $x";
sleep(1);
}
alarm(0);
};
if ($@ and $@ =~ /Alarm/) {
print "Problem! Zeit abgelaufen!\n";
}
else {
print "Alles klar!\n";
}