Probe::Perl - Information about the currently running perl
use Probe::Perl;
$p = Probe::Perl->new();
# Version of this perl as a floating point number
$ver = $p->perl_version();
$ver = Probe::Perl->perl_version();
# Convert a multi-dotted string to a floating point number
$ver = $p->perl_version_to_float($ver);
$ver = Probe::Perl->perl_version_to_float($ver);
# Check if the given perl is the same as the one currently running
$bool = $p->perl_is_same($perl_path);
$bool = Probe::Perl->perl_is_same($perl_path);
# Find a path to the currently-running perl
$path = $p->find_perl_interpreter();
$path = Probe::Perl->find_perl_interpreter();
# Get @INC before run-time additions
@paths = $p->perl_inc();
@paths = Probe::Perl->perl_inc();
# Get the general type of operating system
$type = $p->os_type();
$type = Probe::Perl->os_type();
# Access Config.pm values
$val = $p->config('foo');
$val = Probe::Perl->config('foo');
$p->config('foo' => 'bar'); # Set locally
$p->config_revert('foo'); # Revert
This module provides methods for obtaining information about the currently
running perl interpreter. It originally began life as code in the
"Module::Build" project, but has been
externalized here for general use.
- new()
- Creates a new Probe::Perl object and returns it. Most methods in the
Probe::Perl packages are available as class methods, so you don't always
need to create a new object. But if you want to create a mutable view of
the "Config.pm" data, it's necessary to
create an object to store the values in.
- config( $key [, $value] )
- Returns the "Config.pm" value associated
with $key. If $value is
also specified, then the value is set to $value
for this view of the data. In this case,
"config()" must be called as an object
method, not a class method.
- config_revert( $key )
- Removes any user-assigned value in this view of the
"Config.pm" data.
- find_perl_interpreter( )
- Returns the absolute path of this perl interpreter. This is actually sort
of a tricky thing to discover sometimes - in these cases we use
"perl_is_same()" to verify.
- perl_version( )
- Returns the version of this perl interpreter as a perl-styled version
number using "perl_version_to_float()".
Uses $^V if your perl is recent enough, otherwise
uses $].
- perl_version_to_float( $version )
- Formats $version as a perl-styled version number
like 5.008001.
- perl_is_same( $perl )
- Given the name of a perl interpreter, this method determines if it has the
same configuration as the one represented by the current perl instance.
Usually this means it's exactly the same
- perl_inc( )
- Returns a list of directories in this perl's @INC
path, before any entries from "use
lib", $ENV{PERL5LIB}, or
"-I" switches are added.
- os_type( [$osname] )
- Returns a generic OS type (e.g. "Unix", "Windows",
"MacOS") for the given OS name. If no OS name is given it uses
the value in $^O, which is the same as
$Config{osname}.
Randy W. Sims <randys@thepierianspring.org>
Based partly on code from the Module::Build project, by Ken
Williams <kwilliams@cpan.org> and others.
Copyright 2005 Ken Williams and Randy Sims. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.