in reply to
What i doing wrong
use strict and warnings
It's not going to solve his error (not chomping).
Using strict and warnings isn't a silver bullet. In a rare case, it solves a problem. In that rare case, posting "use strict; use warnings;" is a useful answer. Most of the time, it's not.
This is a "most of the time" case.
I decided to test your assertion that use strict;use warnings; would not help this OP.
When I ran the OP's code with strict and warnings after adding 'my' where needed I got the following:
Bareword "a" not allowed while "strict subs" in use at 962926.pl line
Execution of 962926.pl aborted due to compilation errors.
That is one thing it would have helped with. So I added quotes to get the code below. Have a look at the
warnings I got then. Clearly would have been helpful. Probably a 'good choice'.
print "what is your name\n";
my $name = <STDIN>;
print "hello $name";
print "select letter\n";
my $select = <STDIN>;
if ($select == 'a')
print "good choice\n";
print "bad choice\n";
Argument "a" isn't numeric in numeric eq (==) at 962926.pl line 10, <S
+TDIN> line 2.
Argument "a\n" isn't numeric in numeric eq (==) at 962926.pl line 10,
+<STDIN> line 2.
By rote learning.
Via Genetic memory.
It's provided by my firmware.
I just remember them.
Thirty days hath September
My computer gets it right, usually.
I just ask someone else.
Someone punches me on the first of the month.
Results (182 votes),