Gehört zu: Skriptsprachen
Siehe auch: TWiki
Perl (aus Wiki)
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???)
Tabelle 1: Installierte Perl Packages
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
Tabelle 2: Anwendungen, die Perl benötigen
Anwendung | Erläuterung |
AWStats | WebServer |
Pdb2ldif | Palm-Adressbuch |
PerlfectSearch | SuchMaschinen |
TWiki | WikiWikiWeb |
— Main.DietrichKracht – 10 Jan 2004