table of contents
|Devel::FindPerl(3pm)||User Contributed Perl Documentation||Devel::FindPerl(3pm)|
Devel::FindPerl - Find the path to your perl
use Devel::FindPerl 'find_perl_interpreter'; system find_perl_interpreter, '-e', '...';
This module tries to find the path to the currently running perl. It (optionally) exports the following functions:
find_perl_interpreter($config = ExtUtils::Config->new)¶
This function will try really really hard to find the path to the perl running your program. I should be able to find it in most circumstances. Note that the result of this function will be cached for any serialized value of $config. It will return a list that usually but not necessarily is containing one element; additional elements are arguments that must be passed to that perl for correct functioning.
Tests if the perl in $path is the same perl as the currently running one.
This module by default does things that are not particularly secure (run programs based on external input). In tainted mode, it will try to avoid any insecure action, but that may affect its ability to find the perl executable.
This module has much the same purpose as Probe::Perl, in fact the algorithm is mostly the same as both are extracted from Module::Build at different points in time. If I had known about it when I extracted it myself, I probably wouldn't have bothered, but now that I do have it there are a number of reasons for me to prefer Devel::FindPerl over Probe::Perl
- Separation of concerns. P::P does 4 completely different things (finding perl, managing configuration, categorizing platorms and formatting a perl version. Devel::FindPerl is instead complemented by modules such as ExtUtils::Config and Perl::OSType.
- It handles tainting better. In particular, "find_perl_interpreter" never returns a tainted value, even in tainted mode.
- It was written with inclusion in core in mind, though the removal of Module::Build from core after perl 5.20 may make this point moot.
Leon Timmermans <email@example.com>, Randy Sims <firstname.lastname@example.org>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2012 by Randy Sims, Leon Timmermans.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.