Your problem is commonly asked in GUI code programs, like Tk, Gtk2, Wx, etc. They are eventloop driven, and while(1){} statements interfere with the loop functioning. There are a few ways around it, some are hacks, some are good design.
The best way around it is to use a thread, and it is mentioned in a section in "perldoc Event". Of course, if you use a thread, you may not need to even use Event.
A common hack, is to put a statement in your while(1) block to refresh the eventloop on each pass thru, like:
The drawback to this hack, is if your code is slow in sections, the loop won't update fast and you may miss prints.while(1){ ..... your code do_one_event_loop; # whatever Event syntax is ..... more of your code do_one_event_loop; # sprinkle them liberally }
Another hack, is to somehow alter your while(1){} code, to fit into the Event style of programming. You usually can run things on a timer, so maybe you can rewrite your while(1){} to be run as a timer by Event.
In reply to Re: Event Driven - timer
by zentara
in thread Event Driven - timer
by perlthirst
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |