The most important pragma is strict . This pragma generates compiler errors if unsafe programming is detected. Non-quoted words that aren't subroutine names or file handles.
Symbolic references use the name of a variable as the reference to the variable.
They are a kind of shorthand widely used in the C programming language, but not available in Perl. Invoke the strict pragma. The second print statement, even though obviously wrong, does not generate any errors. Imagine if you were using a complicated data structure such as the ones described in Chapter on References. You could spend hours looking for a bug like this.