in reply to Re: Press enter to exit
in thread Press enter to exit

if ($fi eq "\n") ## WRONG in this case { exit; }
The value of the variable $fi is not "\n" but an empty string, though in the script provided by the OP, if ($fi eq "\n") { .. still works. Note that "chomp", already removes "\n".
A simple test, shows this clearly like thus:
use warnings; use strict; use Test::More 'no_plan'; print "Please press enter to quit \n"; my $fi = <STDIN>; chomp $fi; is $fi, "\n",'should fail'; if ( $fi eq "\n" ) { exit; }
result shows this:
Please press enter to quit not ok 1 - should fail # Failed test 'should fail' # at textme.pl line 9. # got: '' # expected: ' # ' 1..1 # Looks like you failed 1 test of 1.
If you look at the got and expected in the above, you get the point.

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me