head2-ify many of the head1s, will probably make this look
[p5sagit/p5-mst-13.2.git] / pod / perlfaq7.pod
index a144457..a735edc 100644 (file)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-perlfaq7 - General Perl Language Issues ($Revision: 1.13 $, $Date: 2003/01/26 17:45:46 $)
+perlfaq7 - General Perl Language Issues ($Revision: 1.15 $, $Date: 2003/07/24 02:17:21 $)
 
 =head1 DESCRIPTION
 
@@ -808,7 +808,7 @@ symbolic references, you are just using the package's symbol-table hash
 (like C<%main::>) instead of a user-defined hash.  The solution is to
 use your own hash or a real reference instead.
 
-    $fred    = 23;
+    $USER_VARS{"fred"} = 23;
     $varname = "fred";
     $USER_VARS{$varname}++;  # not $$varname++
 
@@ -879,6 +879,31 @@ subroutines, because they are always global--you can't use my() on them.
 For scalars, arrays, and hashes, though--and usually for subroutines--
 you probably only want to use hard references.
 
+=head2 What does "bad interpreter" mean?
+
+The "bad interpreter" message comes from the shell, not perl.  The
+actual message may vary depending on your platform, shell, and locale
+settings.
+
+If you see "bad interpreter - no such file or directory", the first
+line in your perl script (the "shebang" line) does not contain the
+right path to perl (or any other program capable of running scripts). 
+Sometimes this happens when you move the script from one machine to
+another and each machine has a different path to perl---/usr/bin/perl
+versus /usr/local/bin/perl for instance.
+
+If you see "bad interpreter: Permission denied", you need to make your
+script executable.
+
+In either case, you should still be able to run the scripts with perl
+explicitly:
+
+       % perl script.pl
+
+If you get a message like "perl: command not found", perl is not in
+your PATH, which might also mean that the location of perl is not
+where you expect it so you need to adjust your shebang line.
+
 =head1 AUTHOR AND COPYRIGHT
 
 Copyright (c) 1997-2002 Tom Christiansen and Nathan Torkington.