Perl

From Dietrich Blog (Strato)
Jump to: navigation, search

Perl

Perl ist eine Scriptsprache, die von Larry Wall noch vor dem Boom des Internets (Worldwide Web) entwickelt wurde.

Von der Web-Gemeinde wurde Perl sofort vereinnahmt, um kleine ausführbare Code-Teile zur Dynamisierung von Web-Inhalten zu entwickeln.

Perl ist in der Unix/Linux-Welt zuhause und ist in Windows-Umgebungen nicht ganz so einfach zu handhaben. Der traditionelle Perl-Programmierer benutzt z.B. aus dem Perl heraus gerne Unix-Befehle bzw. Unix-Programme (z.B. ls oder date oder ....) und schon ist man unter Windows erst einmal auf die Nase gefallen.

Perl läuft traditionell von der Command-Line und wenn Perl unter einem Web-Server (Apache) laufen soll (CGI oder mod_perl), muss man schon etwas fummeln. Im Gegensatz dazu ist die neuere Scriptsprache PHP von vorne herein auf den Einsatz unter Web-Servern konzipiert. Als logische Konsequenz muss man sich bei PHP durchaus etwas anstrengen, um PHP von der Command-Line zu starten.

Unter Windows gibt es im Wesentlichen zwei Möglichkeiten mit Perl zu arbeiten:

  • Die Firma ActiveState hat eine freie und sehr verbreitete Perl-Windows-Version
  • Unter Cygwin kann man ein Quasi-Unix-Perl laufen lassen

Installation Variante ActiveState

  • Definitive Software Library ID: Perl
  • Hersteller/Bezugsquelle: ActiveState http://www.activestate.com
  • Version 5.6.1.
  • Installationsordner: d:\perl
  • Konfiguration: s.u. (Perl Module)

Von der Installation der aktuellen Version 5.8.2 (Jan 2004) wird aber beim Einsatz von TWiki abgeraten.

Installation Variante Cygwin

  • Version 5.6.1. Aktuell (Jan 2004) ist Version 5.8.2, davon wird aber beim Einsatz von TWiki abgeraten.
  • Installationsordner: /bin/perl und /lib/perl5

Bei der Installation von OpenSSHServer unter Cygwin wurde ohne zu fragen Perl 5.8.2 installiert. Das steht jetzt im Konflikt mit den Anforderungen für die TWikiInstallationWindows. Ausserdem müssen für Perl 5.8.2 einige Packages nach-installiert werden.

Perl Module (Packages)

Bei Perl muss man immer einige Packages/Module nachinstallieren. Das Nachinstallieren von Packages (z.B. Net::LDAP, Digest::SHA1, MIME::Base64, Test::More,...) wird durch Tool-Unterstützung stark vereinfacht. Es gibt zwei Tools dafür:

  • ActiveState: ppm (Perl Package Manager) (z.B. "install Digest-SHA, install Algorithm-Diff,..." )
  • Linux: CPAN (Comprehensive Perl Archive Network, aktuelle Version 1.76)

Unter ActivePerl kann man auch CPAN verwenden, da CPAN ein Modul von ActivePerl ist. Installieren muss man CPAN mit ppm. Wenn es dann installiert ist, kann man es aufrufen mit:

	  perl -MCPAN -e shell;

Zur vollen Funktionsfähigkeit benötigt das CPAN-Modul folgende Unix-Programme:

  • gzip.exe
  • tar.exe
  • unzip.exe
  • make.exe
  • lynx.exe
  • wget.exe
  • ncftpget.exe
  • ftp.exe
  • more
  • eine Shell

Diese Unix-Programme kann mach sich von Cygwin borgen.

Probleme mit der Installation von Perl-Modulen

Die Nach-Installation des Perl-Modules Net::LDAP unter Cygwin gelang erst, nachdem in CPAN config.pm als Make-Programm nicht das make.exe von Cygwin, sondern nmake.exe (Microsoft Version 1.5) eingetragen wurde, sonst gab es einen Fehler. Das Net::LDAP ist für die Funktionsfähigkeit des LDAP-Plugins bei TWiki erforderlich.

In meinem Cygwin-Perl landen die Packages in den Ordnern:

  • /lib/perl5/site_perl/5.8.2/ oder
  • /lib/perl5/site_perl/cygwin-thread-multi-64int/auto/

Installierte Perl Packages (Cygwin-Perl und ActiveState-Perl???)

Datum Package Verwendung Bemerkung
02.07.2004 Algorithm::Diff für TWiki 1.15
01.07.2003 DB_File Berkeley DB für Suchmaschine PerlfectSearch
28.12.2003 Net::SMTP für TWiki libnet.cfg
28.12.2003 Digest::SHA1 für TWiki
Digest::MD5 für PerlfectSearch
HTML::Tagset für PerlfectSearch
HTML::Parser für PerlfectSearch
28.12.2003 MIME::Base64 für TWiki und PerlfectSearch
LWP::libwww-perl für PerlfectSearch
15.01.2004 Net::LDAP für TWiki LDAP-Plugin
15.01.2004 Unicode::String für TWiki LDAP-Plugin
URI für PerlfectSearch
01.01.2004 p5-Palm für Pdb2ldif

Anwendungen, die Perl benötigen

Anwendung Erläuterung
AWStats WebServer
Pdb2ldif Palm-Adressbuch
PerlfectSearch SuchMaschinen
TWiki WikiWikiWeb

-- Main.DietrichKracht - 10 Jan 2004