books
Free Books / Computers / Practical mod_perl /

previous page: 22.3.5. rwrite returned -1
  
page up: Practical mod_perl | by Stas Bekman and Eric Cholet
  
next page: 22.3.7. Use of uninitialized value at (eval 80) line 12

22.3.6. Global symbol "$foo" requires explicit package name




Description

This section is from the "Practical mod_perl" book, by Stas Bekman and Eric Cholet. Also available from Amazon: Practical mod_perl

This error message is printed when a nondeclared variable is used in the code running under the strict pragma. For example, consider the short script below, which contains a use strict; pragma and then shamelessly violates it:

#!/usr/bin/perl -w
use strict;
print "Content-type: text/html\n\n";
print "Hello $username";

Since Perl will insist that all variables are defined before being used, the program will not run and will print the error:

Global symbol "$username" requires 
explicit package name at /home/httpd/perl/tmp.pl line 4.

Moreover, in certain situations (e.g., when SIG{_ _DIE_ _} is set to Carp::confess( )) the entire script is printed to the error_log file as code that the server has tried to evaluate, so if this script is run repeatedly, the error_log file will grow very fast and you may run out of disk space.

This problem can easily be avoided by always declaring variables before using them. Here is the fixed version of our example:

#!/usr/bin/perl -w
use strict;
my $username = '';
print "Content-type: text/html\n\n";
print "Hello $username";

 

Continue to:

  • prev: 22.3.5. rwrite returned -1
  • Table of Contents
  • next: 22.3.7. Use of uninitialized value at (eval 80) line 12

Books by Stas Bekman:















TOP
previous page: 22.3.5. rwrite returned -1
  
page up: Practical mod_perl | by Stas Bekman and Eric Cholet
  
next page: 22.3.7. Use of uninitialized value at (eval 80) line 12

Topics

  • Animals
  • Architecture
  • Arts
  • Business
  • Computers
  • Crafts
  • Fairy Tales
  • Finance
  • Flora and Plants
  • Cooking
  • Gardening
  • Health and Healing
  • History
  • Home Improvements
  • Languages
  • New Age
  • Novels
  • Real Estate
  • Reference
  • Religion
  • Science
  • Society
  • Sports
  • Travel
  • Outdoors


Search

My Books

Headaches Begone! A Systemic Approach To Healing Your Headaches
Don't Let Your Bike Seat Ruin Your Sex Life Book

Discover

  • Answers FAQ

[ Privacy Policy | Terms of Use | About Us | Search ]

© 2007-2021 StasoSphere.com