Modern Perl (pdf)
Sieht interessant aus. Muß ich bei Gelegenheit mal lesen.
Wird auch auf heise angesprochen.
Entries tagged as Perl
Related tags
Tuesday, 1. February 2011
Modern Perl (ebook)
Tuesday, 7. October 2008
Linkdump
- "Learning Perl the Hard Way" (eine Einführung in Perl für Programmierer (GPL))
- "Hidden Features of Perl" (Wieviel davon hättest du gekannt?)
- "How To Think Like a Computer Scientist: Learning with Python" (Eine Einführung in Python (GPL)) auch verfügbar für Java und C++ Version
- "The Little Book of Semaphores"
Thursday, 24. April 2008
ftpbackup
Letztens kam der Bedarf auf, ein FTP-Verzeichnis automatisch zu sichern auf einem anderen Rechner. Ich hab nicht groß gesucht, sondern einfach mal ein Perlscript geschrieben, weil ich ein bißchen Perl lernen wollte. Nun das Ergebnis findet sich jetzt hier.
Ich bin echt erstaunt, wie schnell man mit Perl sowas umsetzen kann, also hab ich noch ein paar Features hinzugefügt. Im Endeffekt, hat das, glaub ich ein paar interessante Funktionen (lokal verschlüsseln, lokal mehrere Versionen vorhalten und hardlinken, Backup per FXP gleich auf einem anderen ftp-Server speichern, exclude patterns..)
Selbst die passende Manpage war mit pod2man flink erstellt und weil ich gerade dabei war, hab ich auch gleich ein passendes Debian-Paket erstellt.
Ich muß sagen, Perl macht Spaß ;)
Ach und die Perl Shell find ich auch lustig.
Ich bin echt erstaunt, wie schnell man mit Perl sowas umsetzen kann, also hab ich noch ein paar Features hinzugefügt. Im Endeffekt, hat das, glaub ich ein paar interessante Funktionen (lokal verschlüsseln, lokal mehrere Versionen vorhalten und hardlinken, Backup per FXP gleich auf einem anderen ftp-Server speichern, exclude patterns..)
Selbst die passende Manpage war mit pod2man flink erstellt und weil ich gerade dabei war, hab ich auch gleich ein passendes Debian-Paket erstellt.
Ich muß sagen, Perl macht Spaß ;)
Ach und die Perl Shell find ich auch lustig.
Wednesday, 5. March 2008
Was sind eigentlich gültige E-Mail Adressen?
Wer hat nicht schonmal versucht, eine E-Mail per regex zu validieren? Wer denkt, dass das alles ganz einfach ist, der führe sich mal schnell das passende RFC2822 zu Gemüte. Vor allem in Section 3.2 und 3.4.1 wird die formale lexikalische Definition einer E-Mail Adresse vorgenommen. Halbwegs lesbarer dagegen ist RFC3696, in dem gültige - jedoch seltsam ausschauende - E-Mail-Adressen als Beispiele genannt werden. Zum Test für die eigene Regex schon ganz brauchbar.
Weiterführende Infos:
I Knew How To Validate An Email Address Until I Read The RFC
Parsing Email Adresses in PHP
Reference/Documentation about eMail
Perl Cookbook: Matching a Valid Mail Address
Perlfaq: How do I check a valid mail address?
Selfhtml Weblog: Validierung von eMail-Adressen
Weiterführende Infos:
I Knew How To Validate An Email Address Until I Read The RFC
Parsing Email Adresses in PHP
Reference/Documentation about eMail
Perl Cookbook: Matching a Valid Mail Address
Perlfaq: How do I check a valid mail address?
Selfhtml Weblog: Validierung von eMail-Adressen
Tuesday, 11. July 2006
Checkinstall
Obwohl Ubuntu, Debian und Co. selten Wünsche hinsichtlich verfügbarer Pakete offen lassen, kommt es mitunter vor, dass man sich doch mal was von Hand kompiliert. Auch proprietäre Software wie Adobe Acrobat, Flashplugin oder GoogleEarth gibt es selten als native Betriebssystempakete. Besonders CPAN-Module nerven hier oft mit eigenwilligem Installationsverhalten - wie also bewahrt man hier den Überblick ?
Checkinstall ist hier eine gute Möglichkeit ein Linuxsystem "sauber" zu halten. Die Anwendung ist hier denkbar einfach:
# Software vorbereiten/compilieren
$ wget http://search.cpan.org/CPAN/authors/id/D/DB/DBROBINS/Net-SSH-Perl-1.30.tar.gz
$ tar zxvf Net-SSH-Perl-1.30.tar.gz
$ cd Net-SSH-Perl-1.30
$ perl Makefile.PL && make
# Software installieren und paketieren
sudo checkinstall -D --pkgname="Marc-Net-SSH-Perl" --pkgversion="1.30" make install
Was macht das Tool ? Das Werkzeug "klemmt" sich unter Verwendung von "installwatch" zwischen Installationsroutine und Betriebssystem und merkt sich genau welche Dateien angelegt wurden (Syscalls werden mit einer Spezialbibliothek überladen, welche mit LD_PRELOAD an das Programm geflanscht wird). Mit diesen Informationen erstellt Checkinstall dann ein DebianPaket und mledet diese in der Debian Paketdatenbank an. Somit ist es sehr leicht sich des Pakets wieder zu entledigen. Angenehm ist auch, das die Dateien nicht nur am Paketsystem (z.B. RPM,DPKG) angemeldet werden, sondern dass man auch ein vollständiges Paket erhält, welches man auf anderen System leicht installieren kann.
Eigentlich ein ziemlich simples Verfahren - aber recht praktisch :-)
Checkinstall ist hier eine gute Möglichkeit ein Linuxsystem "sauber" zu halten. Die Anwendung ist hier denkbar einfach:
# Software vorbereiten/compilieren
$ wget http://search.cpan.org/CPAN/authors/id/D/DB/DBROBINS/Net-SSH-Perl-1.30.tar.gz
$ tar zxvf Net-SSH-Perl-1.30.tar.gz
$ cd Net-SSH-Perl-1.30
$ perl Makefile.PL && make
# Software installieren und paketieren
sudo checkinstall -D --pkgname="Marc-Net-SSH-Perl" --pkgversion="1.30" make install
Was macht das Tool ? Das Werkzeug "klemmt" sich unter Verwendung von "installwatch" zwischen Installationsroutine und Betriebssystem und merkt sich genau welche Dateien angelegt wurden (Syscalls werden mit einer Spezialbibliothek überladen, welche mit LD_PRELOAD an das Programm geflanscht wird). Mit diesen Informationen erstellt Checkinstall dann ein DebianPaket und mledet diese in der Debian Paketdatenbank an. Somit ist es sehr leicht sich des Pakets wieder zu entledigen. Angenehm ist auch, das die Dateien nicht nur am Paketsystem (z.B. RPM,DPKG) angemeldet werden, sondern dass man auch ein vollständiges Paket erhält, welches man auf anderen System leicht installieren kann.
Eigentlich ein ziemlich simples Verfahren - aber recht praktisch :-)
Thursday, 25. August 2005
Leo.org in der Shell :-)
Ein recht primitives aber auch sehr praktisches Shellskript, welches ich
seit Jahren verwende: leo
Oft braucht man mal eben eine Übersetzung eines Wortes von Englisch
nach Deutsch oder umgekehrt.
Alles was man dazu braucht ist : ein Perlinterpreter, wget und w3m
seit Jahren verwende: leo
Oft braucht man mal eben eine Übersetzung eines Wortes von Englisch
nach Deutsch oder umgekehrt.
Alles was man dazu braucht ist : ein Perlinterpreter, wget und w3m
CODE:
#!/usr/bin/env perl
use strict; use warnings;
if ($ARGV[0] =~ /^-[\?h]/){
print "usage: $0 <string> \n lookup <string> at dict.leo.org\n";
exit 1;
}
my $translate=$ARGV[0];
open (IN, "wget --quiet -O - http://dict.leo.org?search=$translate |")
or die "Can't start wget: $!";
while (my $line = <IN>){
chomp $line;
if ($line =~ /ENGLISCH/){
open (OUT, "| w3m -dump -T text/html | grep -v -- ----")
or die "Can't pipe to w3m: $!";
print OUT $line;
close OUT;
}
}
close IN;
(Page 1 of 1, totaling 6 entries)
