NAME
Quiq::PerlModule - Perl-Modul
BASE CLASS
DESCRIPTION
Ein Objekt der Klasse repräsentiert ein Perl-Modul im Dateisystem. Hinsichtlich seiner Installation.
METHODS
Konstruktor
new() - Instantiiere Objekt
Synopsis
$mod = $class->new($name);
Description
Instantiiere Objekt für Perl-Modul $name und liefere eine Referenz auf dieses Objekt zurück.
Accessors
name() - Liefere Name des Moduls
Synopsis
$name = $mod->name;
Example
A::B::C
Methods
isCore() - Teste, ob Core-Modul
Synopsis
$bool = $mod->isCore;
Description
Liefere "wahr", wenn das Modul ein Core-Modul ist, andernfalls falsch.
Ein Perl-Modul ist ein Core-Modul, wenn es bei den Perl-Quellen dabei ist, also mit dem Perl-Interpreter zusammen installiert wird.
isPragma() - Teste, ob Pragma
Synopsis
$bool = $mod->isPragma;
Description
Liefere "wahr", wenn das Modul ein Pragma ist, andernfalls falsch.
Ein Perl-Modul ist ein Pragma, wenn sein Name keine Großbuchstaben enthält.
find() - Suche Modul im Dateisystem
Synopsis
$path = $mod->find;
Description
Liefere den Pfad, unter dem das Modul geladen würde (mit use oder require).
Example
use A::B::C;
print Quiq::PerlModule->new('A::B::C')->find;
# '/usr/lib/perl5/site_perl/5.10.0/A/B/C.pm'
loadPath() - Liefere den Lade-Pfad
Synopsis
$path = $mod->loadPath;
Description
Liefere den Pfad, unter dem das Modul geladen wurde (mit use oder require).
Diese Methode ist nützlich, wenn einem nicht klar ist, aus welchem Pfad heraus Perl ein Modul geladen hat, z.B. weil möglicherweise mehrere Versionen des Moduls unter verschiedenen Pfaden installiert sind.
Ohne Quiq::PerlModule kann dieselbe Information auf folgendem Weg herausgefunden werden - A::B::C sei das Modul:
$INC{'A/B/C.pm'}
Existiert der Eintrag nicht, wurde das Modul nicht geladen.
Example
use A::B::C;
print Quiq::PerlModule->new('A::B::C')->loadPath;
# '/usr/lib/perl5/site_perl/5.10.0/A/B/C.pm'
nameToPath() - Liefere Modulpfad zum Modulnamen
Synopsis
$path = $class->nameToPath($name); # Klassenmethode
$path = $mod->nameToPath; # Objektmethode
Description
Wandele Modulname (wie er bei use angegeben wird) in Modulpfad (wie er in %INC als Schlüssel vorkommt) um und liefere diesen zurück.
Example
'A::B::C' => 'A/B/C.pm'
pathToName() - Liefere Modulname zum Modulpfad
Synopsis
$name = $class->pathToName($path);
Description
Wandele Modulpfad (wie er in %INC als Schlüssel vorkommt) in Modulnamen (wie er bei use angegeben wird) um und liefere diesen zurück.
Example
'A/B/C.pm' ==> 'A::B::C'
VERSION
1.220
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2024 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.