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
+10.
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'.
#!/usr/bin/perl
use strict;
use warnings;
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";
}
else
{
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.
good choice
|