Follow up on changing keyword to special subroutine.
[p5sagit/p5-mst-13.2.git] / pod / perlvar.pod
index 9f23dcf..dd9bbaa 100644 (file)
@@ -1003,6 +1003,12 @@ built, as determined during the configuration process.  The value
 is identical to C<$Config{'osname'}>.  See also L<Config> and the 
 B<-V> command-line switch documented in L<perlrun>.
 
+In Windows platforms, $^O is not very helpful: since it is always
+C<MSWin32>, it doesn't tell the difference between 95/98/ME/NT/2000/XP/CE.
+Use Win32::GetOSVersion() (see L<perlport>) and other means (like for
+example the presence/absence of some files) to distinguish between
+the variants.
+
 =item ${^OPEN}
 
 An internal variable used by PerlIO.  A string in two parts, separated
@@ -1178,10 +1184,10 @@ following statements:
 
 # Build up a set of file names (not command names).
   use Config;
-  use File::Spec;
-  $this_perl = File::Spec->canonpath($^X);
-  $this_perl .= $Config{_ext}
-          unless $this_perl =~ m/$Config{_ext}([;\d]*)$/i;
+  $this_perl = $^X;
+  if ($^O ne 'VMS')
+     {$this_perl .= $Config{_exe}
+          unless $this_perl =~ m/$Config{_exe}$/i;}
 
 Because many operating systems permit anyone with read access to
 the Perl program file to make a copy of it, patch the copy, and
@@ -1192,10 +1198,10 @@ this goal, and produce a pathname that can be invoked as a
 command or referenced as a file.
 
   use Config;
-  use File::Spec;
-  $secure_perl_path = File::Spec->canonpath($Config{perlpath});
-  $secure_perl_path .= $Config{_ext}
-          unless $secure_perl_path =~ m/$Config{_ext}([;\d]*)$/i;
+  $secure_perl_path = $Config{perlpath};
+  if ($^O ne 'VMS')
+     {$secure_perl_path .= $Config{_exe}
+          unless $secure_perl_path =~ m/$Config{_exe}$/i;}
 
 =item ARGV