title: Perl : CRTL C ignored when calling subroutine instead of exiting
body: <p>So the script is something like this:</p>
  
  <pre><code>use strict;
  use warnings;
  use Term::ReadLine;
  
  $SIG{'INT'} = 'INT_handler';
  sub INT_handler {
    print "[+] Abording\n";
    home();
  }
  
  my $term = Term::ReadLine-&gt;new('Simple Perl calc');
  
  sub home {
  
    my $prompt = "\$&gt; ";
    my $OUT = $term-&gt;OUT || \*STDOUT;
  
    while ( defined ($_ = $term-&gt;readline($prompt)) ) {
      my $com = $_;
      print $com."\n";
      if ($com eq 'exit') {
          exit;
      }
    option(); # another subroutine when the input is transferred to
    }
  }
  
  home();
  </code></pre>
  
  <p>what I get:</p>
  
  <pre><code>$&gt;                                                                              
  [+] Abording
  $&gt; # I pushed CRTL C but nothing shows                                                                             
  $&gt; # same here
  </code></pre>
  
  <p>What I want to achieve is to be able to go to <code>home()</code> without exiting, and keep the <code>$SIG{'INT'}</code> working. </p>
  
  <p>I have tried some other methods ( labels, using if statement ), but it will take too long cause the input is used in long processes</p>