http://qs321.pair.com?node_id=875437


in reply to Program Hangs

Hi anbarasans85,

Seconded what ww said.

You might be able to narrow down the point where the program is stuck by trapping the INT (interrupt) signal, then typing ^C when the CPU goes to 100%, and looking at the stack trace.  (See caller for more details).

For example:

use strict; use warnings; $SIG{INT} = sub { my (@stack, $level); while (1) { my ($pkg, $fn, $ln, $sub) = caller($level++); if (!($pkg or $fn or $ln or $sub)) { for (my $i = 0; $i < @stack; $i++) { print " " x $i, $stack[$i], "\n"; } exit; } unshift @stack, "-> $pkg: $fn (line $ln) sub $sub"; } }; # Your program here ....


s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/