Mit ‘Perlmodul’ getaggte Beiträge

professionelle Skripte mit Getopt::Long

Veröffentlicht: Juli 17, 2016 in Perl
Schlagwörter:

perl-logoGetopt::Long ist ein Modul zum Parsen von Kommandozeilenargumenten, so kann man auf einfache Weise ein Unix-ähnliches Inferface erzeugen. Mit nur wenigen Zeilen Code lassen sich Parameter übergeben, sowie deren Typ prüfen. (mehr …)

Advertisements

Die meisten kennen das Online-Wörterbuch dict.leo.org und verwenden es entweder über den direkten Aufruf der Seite oder über ein entsprechendes Browserplugin. Mit Hilfe des kleinen Tools leo aus dem CPAN geht es aber auch ganz ohne Browser:

leo Screenshot

Für die Installation verwendet man am besten cpanminus oder cpanplus (hier cpanminus)

cpanm WWW::Dict::Leo::Org

Das weitere Verhalten/Aussehen lässt sich über das Configfile .leo im Homerverzeichnis (muss erstellt werden) oder die entsprechenden Optionen steuern (siehe auch leo). Für die meisten Zwecke sollte der einfache Aufruf von leo mit dem zu übersetzenden Wort genügen.

FindBin

Veröffentlicht: April 25, 2015 in Perl
Schlagwörter:,

FindBin versucht den vollständigen Pfad des Programms zu bestimmen, dies kann z.B. genutzt werden um Configfiles einzubinden oder @INC zu erweitern. Das Modul gehört zu den CoreModulen und muss somit nicht nachträglich installiert werden.

Das FindBin-Modul bietet 4 Variablen an:

  • $Bin – Pfad zum Verzeichnis aus dem das Skript aufgerufen wurde
  • $Script – basename des Skripts, aus dem das Skript aufgerufen wurde
  • $RealBin – $Bin, Links werden aufgelöst
  • $RealScript – $Script, Links werden aufgelöst

(mehr …)

Dir::Self

Veröffentlicht: April 16, 2015 in Perl
Schlagwörter:,

Bei dem Modul Dir::Self handelt es sich um eine weitere Möglichkeit @INC zu erweitern oder Configfiles etc. einzubinden (siehe auch @INC erweitern).

use Dir::Self;
use lib __DIR__ . "/lib";
my $conffile = __DIR__ . "/config";

Wie man sieht ist Verwendung recht einfach, das Modul speichert den den Pfad in __DIR__. Das ganze funktioniert auch recht gut, sofern man das Skript direkt aufruft, oder es sich im Suchpfad befindet. Versucht man das Programm allergings über einen Link aufzurufen, befindet sich in __DIR__ nicht der Pfad zum Programm, sondern der Pfad zum Link.

Debianpaket: libdir-self-perl

@inc erweitern (eigene Module in Perl einbinden)

Veröffentlicht: April 8, 2015 in Perl
Schlagwörter:

Frage: Wie kann ich @INC erweitern (PERL5LIB)?

Frage: Wie kann ich meine eigenen Module einbinden, auch ohne root-Rechte?

Antwort: TMTOWTDI, deshalb sollen hier einige dieser Möglichkeiten gezeigt werden.

(mehr …)

Task::Kensho – Auswahl der besten CPAN-Module

Veröffentlicht: März 25, 2015 in Perl
Schlagwörter:, ,

cpanEiner der größten Vorteile von Perl ist das Comprehensive Perl Archive Network (CPAN), da man hier praktisch für jedes Problem ein passendes Modul findet. Aber bei aktuell 146.071 Modulen in 31.557 Distributionen fällt die Auswahl nicht wirklich leicht.

Task::Kensho schafft hier Abhilfe und bietet eine Übersicht der besten Module aus den Bereichen:

  • Testing
  • objektorientierte Programmierung
  • asynchrone Programmierung
  • XML-Entwicklung
  • Web Entwicklung
  • Datenbank
  • Datum und Uhrzeit
  • Excel / CSV
  • etc.

einfache Datumsformatierung mit DateTime

Veröffentlicht: März 21, 2015 in Perl
Schlagwörter:,

Zur Ausgabe von Meldungen oder der Bearbeitung von Logfiles ist es immer wieder nötig das man das aktuelle Datum in irgendeinem Format hat. In Unix-Umgebungen ist dies auf der Shell relativ einfach zu lösen:

date '+%Y-%m-%d'

Unter Perl sieht das standardmässig etwas anders aus. Die grundlegende Funktion sieht folgendermassen aus:

($sek,$min,$std,$mtag,$mon,$jahr,$wtag,$jtag,$isdst) = localtime(time);

Dabei ist natürlich zu beachten, dass die Monatsangabe im Bereich 0 – 11 liegt, d.h. es muss 1 addiert werden. Zur Jahreszahl muss 1900 addiert werden … (siehe Perldoku). Aber auch in Perl gibt es eine sehr einfache Möglichkeit, zumindest mit Hilfe des Moduls DateTime.

use DateTime;
my $date=DateTime->now->ymd('-');

(mehr …)