morgon has asked for the wisdom of the Perl Monks concerning the following question:


as a (contrieved) example that catches SIGINT consider this:

$SIG{INT} = sub { print STDERR "*"; }; while(1) { sleep(1); print STDERR "."; }
When I run this in bash and press Control-C to generate a signal I get the star printed, but I also get a "^C" in the output and I don't understand where this is coming from.

So the output looks like

Where do these "^C"s come from? Is this the shell, the terminal or what? And is there a way to supress that from within a perl-script?

Many thanks!