Hallo,
wie bekommt man eigentlich auf einem System, das man selber
nicht administriert, heraus, welche Perl-Version installiert
ist
$ perl --version
This is perl, v5.8.4 built for i386-linux-thread-multi
...
und welche PMs verfügbar sind? Gibt es da überhaupt eine
konkrete Abfrage für, oder muss man bei letzterem über Try &
Error gehen?
Aus perldoc -q module:
How do I find which modules are installed on my system?
You can use the ExtUtils::Installed module to show all installed dis-
tributions, although it can take awhile to do its magic. The standard
library which comes with Perl just shows up as "Perl" (although you can
get those with Module::CoreList).
use ExtUtils::Installed;
my $inst = ExtUtils::Installed-\>new();
my @modules = $inst-\>modules();
If you want a list of all of the Perl module filenames, you can use
File::Find::Rule.
use File::Find::Rule;
my @files = File::Find::Rule-\>file()-\>name( '\*.pm' )-\>in( @INC );
If you do not have that module, you can do the same thing with
File::Find which is part of the standard library.
use File::Find;
my @files;
find sub { push @files, $File::Find::name if -f \_ && /\.pm$/ },
@INC;
print join "\n", @files;
If you simply need to quickly check to see if a module is available,
you can check for its documentation. If you can read the documentation
the module is most likely installed. If you cannot read the documenta-
tion, the module might not have any (in rare cases).
prompt% perldoc Module::Name
You can also try to include the module in a one-liner to see if perl
finds it.
perl -MModule::Name -e1
HTH,
Moritz