perldoc strict has all the gory details, but the short answer is that one of the things "
use strict;" does it prevent you from using variable names you didn't declare. The benefit is that if you assign to "
$name" and then later read from "
$naem", perl will catch the typo. The downside is that you need to declare the variables you use. In your case, the simplest thing to do is replace the line "
$name = <STDIN>;" with the line "
my $name = <STDIN>;" and you're good.