Difference between revisions of "Perl"

From Dietrich Blog (Strato)
Jump to: navigation, search
(Anwendungen, die Perl benötigen)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
= Perl =
+
Has been moved to: http://blog.kr8.de/wiki-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|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|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|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:
 
<pre>
 
  perl -MCPAN -e shell;
 
</pre>
 
 
 
Zur vollen Funktionsfähigkeit benötigt das CPAN-Modul folgende Unix-Programme:
 
* gzip.exe
 
* tar.exe
 
* unzip.exe
 
* [[make|make.exe]]
 
* lynx.exe
 
* wget.exe
 
* ncftpget.exe
 
* ftp.exe
 
* more
 
* eine Shell
 
Diese Unix-Programme kann mach sich von [[Cygwin|Cygwin]] borgen.
 
 
 
=== Probleme mit der Installation von Perl-Modulen ===
 
''<b>Die Nach-Installation des Perl-Modules Net::LDAP unter [[Cygwin|Cygwin]] gelang erst, nachdem in CPAN config.pm als [[Make|Make]]-Programm nicht das make.exe von [[Cygwin|Cygwin]], sondern nmake.exe (Microsoft Version 1.5) eingetragen wurde, sonst gab es einen Fehler.</b>''  Das Net::LDAP ist für die Funktionsfähigkeit des LDAP-Plugins bei [[TWiki|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???) ==
 
{| class=wikitable
 
|-
 
| '''Datum''' || '''Package''' || '''Verwendung''' || '''Bemerkung'''
 
|-
 
| 02.07.2004 || Algorithm::Diff || für [[TWiki|TWiki]] || 1.15
 
|-
 
| 01.07.2003 || DB_File || Berkeley DB für Suchmaschine PerlfectSearch || 
 
|-
 
| 28.12.2003 || Net::SMTP || für [[TWiki|TWiki]] || libnet.cfg
 
|-
 
| 28.12.2003 || Digest::SHA1 || für [[TWiki|TWiki]] || 
 
|-
 
|   || Digest::MD5 || für PerlfectSearch || 
 
|-
 
|   || HTML::Tagset || für PerlfectSearch || 
 
|-
 
|   || HTML::Parser || für PerlfectSearch || 
 
|-
 
| 28.12.2003 || MIME::Base64 || für [[TWiki|TWiki]] und PerlfectSearch || 
 
|-
 
|   || LWP::libwww-perl || für PerlfectSearch || 
 
|-
 
| 15.01.2004 || Net::LDAP || für [[TWikiLDAPPluginBeispiel|TWiki LDAP-Plugin]] || 
 
|-
 
| 15.01.2004 || Unicode::String || für  [[TWikiLDAPPluginBeispiel|TWiki LDAP-Plugin]] || 
 
|-
 
|   || URI || für PerlfectSearch || 
 
|-
 
| 01.01.2004 || p5-Palm || für [[Pdb2ldif|Pdb2ldif]] || 
 
|}
 
 
 
== Anwendungen, die Perl benötigen ==
 
{| class=wikitable
 
|-
 
| '''Anwendung''' || '''Erläuterung'''
 
|-
 
| [[AWStats]] || [[WebServer]]
 
|-
 
| [[Pdb2ldif]] || Palm-Adressbuch
 
|-
 
| [[PerlfectSearch]] || [[SuchMaschinen]]
 
|-
 
| [[TWiki]] || [[WikiWikiWeb]]
 
|}
 
 
 
-- Main.DietrichKracht - 10 Jan 2004
 

Latest revision as of 14:50, 7 April 2020

Has been moved to: http://blog.kr8.de/wiki-perl/