$^X
Stas Bekman [Thu, 30 May 2002 15:59:48 +0000 (23:59 +0800)]
   Message-Id: <3CF5DBF4.7080500@stason.org>

p4raw-id: //depot/perl@16872

pod/perlvar.pod

index 98bd657..13922fe 100644 (file)
@@ -1150,8 +1150,22 @@ lexical scope.  See L<bytes>.
 
 =item $^X
 
-The name that the Perl binary itself was executed as, from C's C<argv[0]>.
-This may not be a full pathname, nor even necessarily in your path.
+The name that the Perl binary itself was executed as, from C's
+C<argv[0]>.
+
+This may not be a full pathname, nor even necessarily in your
+path. Currently there is no universal solution for this, you may try
+to use:
+
+  use Config;
+  $current_perl_path = (-x $^X) ? $^X : $Config{perlpath};
+
+The security-conscious would write:
+
+  use Config;
+  use File::Spec;
+  $current_perl_path = (File::Spec->file_name_is_absolute($^X) && -x $^X)
+                     ? $^X : $Config{perlpath};
 
 =item ARGV