[quote=sri,27.04.2005, 20:50]Hat doch mit timeslices nix zu tun, der eval block befindet sich doch innerhalb eines events, und POE unterbricht keine opcodes, das muss dein eigener lokaler sig handler machen.[/quote]
das ist aber doch genau das problem hier...
alarm unterbricht keine opcodes weswegen man mit alarm keinen laufenden regex beenden kann. die lösung mit fork unterbricht wohl den laufenden, geforkten prozess mit kill, verbraucht aber viel zeit zum kopieren der daten (das tatsächliche programm ist ungleich grösser als das beispiel). ich sehe nicht, wo POE da helfen könnte.
nur noch mal zur erinnerung: das problem sieht so aus, dass ein einzelner regex sehr viel zeit verbraucht (> 24h) und nach einem festgesetzten timeout beendet/abgebrochen/getötet werden soll.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B