---
name: "Probe::Perl"
section: "3pm"
platform: "linux"
package: "perl-probe-perl"
version: "0.03-10"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Probe::Perl"
---

# Probe::Perl(3pm)

Information about the currently running perl

## NAME

Probe::Perl - Information about the currently running perl

## VERSION

version 0.03

## SYNOPSIS

```
 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
```

## DESCRIPTION

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.

## METHODS

- **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}.

## AUTHOR

Randy W. Sims \<randys@thepierianspring.org\>

Based partly on code from the Module::Build project, by Ken Williams \<kwilliams@cpan.org\> and others.

## COPYRIGHT

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.
