http://www.perlmonks.org?node_id=1214736

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

Hi,

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

.....^C*...^C*....^C*..
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!