I think I see the problem. When you populate $name, the variable name is lowercase. However, when you do anything with it, it's $NAME, or uppercase. Try doing everything in lowercase and see if it works.
In addition, as scain said, make sure you're typing everything in the same case. See the version of the script I put below for a way to make the script case-insensitive.
A few notes:
- If you're typing within the <code> tags, you don't need to use any other HTML tags, specifically <br>.
- chomp is better than chop, for the purposes you're putting it to. (Getting rid of the newline character(s). If you're on a Windows machine, that may be the reason you're having problems. That script was written for a Unix machine, originally.)
- Although Learning Perl doesn't get into this until a little later, you should start getting into the habit of using strict and warnings. There are a number of nodes on PerlMonks that address this. If I was writing your script from scratch, I'd write it as such:
#!/usr/bin/perl -w
print "What is your name? ";
my $name = <STDIN>;
chomp($name);
if (uc($name) eq 'RANDAL') {
print "Hello, Randal! How good of you to be here!\n";
} else {
print "Hello, $name\n";
}
__END__
Update: Added a few comments after reading
scain's response. Added
uc to the script listing.
------
/me wants to be the brightest bulb in the chandelier!