Sonntag, 30. Dezember 2007

Perl 5.10: use feature Stackable File Tests

Stackable File Tests ist eines der neuen Features von Perl 5.10.

Beispiel:

Perl 5.8.8


use strict;
use warnings;

my $file = 'some.file';

if ( -f $file and -w _ and -z _ ) {
unlink $file;
}

Perl 5.10.0

use strict;
use warnings;
use 5.010;

my $file = 'some.file';

if ( -f -w -z $file ) {
unlink $file;
}

Es ist zwar nur syntaktischer Zucker, aber ich finde es lesbarer und daher erwähnenswert.


Vorhergehende Artikel von mir zu den neuen Features in Perl 5.10:

Open Source Gruppe bei LinkedIn

Es gibt jetzt auch eine Open Source Gruppe bei LinkedIn:

http://www.linkedin.com/e/gis/43875/2F68734FCC3A


via: Is there any group for Open Source Community?

Perl 5.10: Vier Mikroartikel zu den neuen Features von Gábor Szabó

Gábor Szabó (Perltraining Israel) hat vier lesenswerte Mikroartikel zu den neuen Features von Perl 5.10 in seinem Blog veröffentlicht:


via: What's new in Perl 5.10 - 4 micro articles

Samstag, 29. Dezember 2007

Perl 5.10: use feature qw/state/;

Eines der neuen Features von Perl 5.10 ist die vereinfachte Erzeugung statischer bzw. persistenter Variablen.

Während man bisher closures verwenden musste, um statische Variablen zu erzeugen, gibt es jetzt in Perl 5.10 das feature state.

Beispiel:

Perl 5.8.8


use strict;
use warnings;

{ ## Start of closure
my $counter = 0;
sub next_counter {
$counter++;
return $counter;
}
} ## End of closure

for ( 1 .. 5 ) {
print next_counter() ,"\n";
}

Warum $counter, die persistente Variable, hier nur ein einziges Mal initialisiert wird, also nur einmal auf Null gesetzt wird, ist für Einsteiger (und auch einige Profis) meist nur sehr schwer bis gar nicht zu verstehen. Hinweis: Subroutinen sind global im aktuellen Namensraum (Package).

Perl 5.10.0

use strict;
use warnings;
use feature qw/say state/;

sub next_counter {
state $counter = 0;
$counter++;
return $counter;
}

for ( 1 .. 5 ) {
say next_counter();
}

Die persistente Variable $counter ist jetzt als statisch gekennzeichnet und befindet sich in der Subroutine und nicht außerhalb in einem Block. Das ist doch viel lesbarer, einfacher zu verstehen und zu warten.

state funktioniert so ähnlich wie my, die Variable wird jedoch erst bei der ersten Verwendung initialisiert und nicht schon bei der Deklaration.

Weiterhin benötigt state wesentlich weniger Hauptspeicher als die closure-Version.

state-Variablen können auch in tief verschachtelten Schleifen oder Subroutinen verwendet werden wie der folgende Pseudocode verdeutlichen soll:

for my $x ( 1 .. 5 ){
for my $y ( 1 .. 5 ) {
state %seen;
next if $seen{$x}{$y}++;
}
}


Die neuen Features von Perl 5.10 werden aus Gründen der Rückwärtskompatibilität nicht automatisch geladen, sondern müssen explizit wie folgt eingebunden werden:

Entweder bestimmte Features, hier state und say, einbinden

use feature qw/say state/;

oder alle neuen Features verwenden

use feature qw/:5.10/;


Vorhergehende Artikel von mir zu den neuen Features in Perl 5.10:

Freitag, 28. Dezember 2007

Perl 5.10: use feature qw/say/;

Zum Auftakt einer Reihe über die neuen Features ein kurzer Artikel über say().

say() funktioniert wie print, es wird jedoch automatisch ein Newline, bzw. das für die jeweilige Plattform passende Zeilenende, angehängt.

Ein einfaches Beispiel:

Perl Version 5.8.8


use strict;
use warnings;
print "Hallo Welt\n";

Perl Version 5.10.0

use strict;
use warnings;
use feature qw/say/;
say "Hallo Welt";


say() spart nicht nur einige Anschläge auf der Tastatur,

print some_function() , "\n";
say some_function();

sondern wird hoffentlich auch folgenden Einsteigerfehler verhindern:

print some_function() , "\n"; # Listenkontext
print some_function() . "\n"; # skalarer Kontext


Die neuen Features von Perl 5.10 werden aus Gründen der Rückwärtskompatibilität nicht automatisch geladen, sondern müssen explizit wie folgt eingebunden werden:

Entweder bestimmte Features, hier say, einbinden
qw/say/;

oder alle neuen Features verwenden
qw/:5.10/;



That's it.

Perl 5.10.0 parallel zu einem bestehendem Perl installieren

Wer die vielen neuen und coolen Features von Perl 5.10. ausprobieren möchte, kann das neue Perl parallel zu einem bestehendem Perl installieren.

Nachfolgend zwei kurze Anleitungen für Windows bzw. Linux.

Vorbemerkung:
Bitte nicht den Pfad zu Perl 5.10 in die systemweite Umgebungsvariable PATH aufnehmen. Perl 5.10 ist nicht binärkompatibel zu früheren Perlversionen. Auch CPAN-Module müssen i.d.R. neu installiert werden. Wer zwei oder mehr Perlversionen auf seinem System (hoffentlich kein Produktionssystem) installiert hat, sollte stets wissen, welche Version er/sie gerade aufruft.

Ein aktuelles Backup des Systems kann auch nicht schaden.


Installation für Linux-Systeme:

Ziel: Perl 5.10.0 soll parallel zu dem bestehenden Perl 5.8.8 in das Verzeichnis /opt/perl510 installiert werden.


cd /tmp

wget http://www.perl.com/CPAN/src/perl-5.10.0.tar.gz

tar -xzf perl-5.10.0.tar.gz

cd perl-5.10.0/

vi README

perldoc INSTALL

./Configure -des -Dprefix=/opt/perl510

make

make test

sudo make install

Jetzt sollten zwei verschiedene Perl-Versionen auf dem System vorhanden sein:

/usr/bin/perl -v

This is perl, v5.8.8 ...

/opt/perl510/bin/perl -v

This is perl, v5.10.0 ...

CPAN-Module können nun wie folgt installiert werden:

/opt/perl510/bin/perl -MCPAN -e shell

Für Perl 5.10 muss also stets der volle Pfad angegeben werden.

#!/opt/perl510/bin/perl
use strict;
use warnings;


Installation Activestate Perl für Windows:

Ziel: Perl 5.10.0 soll parallel zu dem bestehenden Perl 5.8.8 in das Verzeichnis C:\perl510 installiert werden.

  • ActivePerl-5.10.0.1001 downloaden und den MSI-Installer aufrufen.

  • Als Installationsort C:\perl510 angeben.

  • Die Optionen "Add Perl to the PATH enviroment variable" und "Create Perl file extension" abwählen.


Jetzt sollten zwei verschiedene Perl-Versionen auf dem System vorhanden sein:

C:\> perl -v

This is perl, v5.8.8

C:\> C:\perl510\bin\perl.exe -v

This is perl, v5.10.0

CPAN-Module können nun wie folgt installiert werden:

C:\> C:\perl510\bin\ppm.bat

Wem die von ActiveState angebotenen Packages nicht ausreichen, kann das ActivePerl 10xx Win32 PPM packages Repository verwenden:

C:\> C:\perl510\bin\ppm.bat install http://cpan.uwinnipeg.ca/PPMPackages/10xx/package.ppd

Für Perl 5.10 muss also stets der volle Pfad (C:\perl510\bin\...) angegeben werden.


That's it.

Donnerstag, 20. Dezember 2007

ack - das bessere grep für Programmierer und Sysadmins

ack von Andy Lester ist ein kleines Tool, das man als fast 100%-igen Ersatz für grep verwenden kann.

Zusätzlich hat es einige nützliche Features für Programmierer, die regelmäßig große Mengen an Quelltexten durchsuchen müssen.

Wer grep kennt, kommt mit ack sehr schnell zurecht.

Hier ein paar Unterschiede, die mir sehr gut gefallen:


  • ack durchsucht Verzeichnisse per default rekursiv und ignoriert bestimmte Verzeichnisse und Dateitypen.
    Statt:

    $ grep pattern $(find . | grep -v .svn)

    geht es viel einfacher so:

    $ ack pattern


  • ack ist in der Lage, nur nach bestimmten Dateitypen zu suchen, wobei sogar die Shebang-Zeile berücksichtigt wird.
    Statt:

    $ grep pattern $(find . -name '*.pl' -or -name '*.pm' -or -name '*.pod' | grep -v .svn)

    geht es viel einfacher so:

    $ ack --perl pattern


  • ack unterstützt die regulären Ausdrücke und Spezialvariablen von Perl:

    ack '(Mr|Mr?s)\. (Smith|Jones)' --output='$&'

  • ack läuft übrigens auch unter Windows.



Zusammenfassung:
ack ist i.d.R. das bessere grep und gehört in den Werkzeugkasten eines jeden Programmierers (m/w) oder Sysadmins (m/w).


Siehe auch:

Dienstag, 18. Dezember 2007

Perl 5.10.0 ist da

Passend zum heutigen 20. Geburtstag von Perl hat Rafaël Garcia-Suarez die neue Version 5.10.0 freigegeben.

Die neue Version wird gerade über die Mirror verteilt. Für ganz Eilige gibt es auch einen Torrent.

Danke an alle Perl 5 Porter für die neue Version.

Schönes Geburtstagsgeschenk.

via:

Happy Birthday Perl - Perl wird 20

Perl wird heute, 18. Dezember 2007, zwanzig Jahre alt.

Happy Birthday, Perl.

Zur Geschichte von Perl siehe auch:

Sonntag, 16. Dezember 2007

Catalyst Buch von Jonathan Rockway erschienen

Das Buch Catalyst - Accelerating Perl Web Application Development von Jonathan Rockway, einem der Core-Devoloper von Catalyst, ist bei Packt erschienen (ISBN: 1847190952).



In Deutschland wird es wohl erst Anfang 2008 lieferbar sein.

via:

Samstag, 15. Dezember 2007

Perl Experts - Why They Are Passionate About Perl

odinJobs hat mehrere Perl-Experten (brian d foy, Rafael Garcia-Suarez, Greg McCarroll, Frank Wiles, Zbigniew Lukasiak und Bill Ward) zum Thema Perl Experts - Why They Are Passionate About Perl interviewt.


"Q:What do you think is the most important feature of the Perl language?"
Einstimmige Antwort: CPAN und die dazuhörige Community, z.B. perlmonks oder lokale Gruppen (Perl Mongers).
Dem kann ich nur zustimmen.


via: Journal of brian_d_foy: Why They Are Passionate About Perl

Freitag, 14. Dezember 2007

Talk: Perl 6 bereits jetzt nutzen

Josh Heumann hat die Slides von seinem Talk I, For One, Welcome Our New Perl6 Overlords: Using Perl6 Now auf der Open Source Developers' Conference 2007 veröffentlicht.

Josh stellt viele Perl 6 Features vor, die man bereits heute mit Perl 5 benutzen kann, z.B. traits, junctions und roles.




Link zu den Slides.

Enjoy.

Mittwoch, 12. Dezember 2007

Movable Type ist jetzt Open Source

Moveable Type (MT), eine Blog-Software geschrieben in Perl, ist seit 12. Dezember 2007 Open Source (MTOS).

Die Open Source Version enthält laut MT alle Features des kommerziellen Produkts.

via: Movable Type is now open source

Packaging Perl Modules

Skud (Kirrily Robert) hat die Slides von ihrem Talk Packaging Perl Modules auf der Open Source Developers' Conference 2007 veröffentlicht.

In Teil 1 geht Skud auf die Struktur von CPAN-Modulen ein und erläutert die beiden wichtigsten Tools zur Erzeugung der Module: h2xs und Module-Starter. Automatisches Testen und Auflösung der Abhängigkeiten werden ebenfalls behandelt.

Im zweiten Teil geht Kirrily auf das Verpacken von CPAN-Modulen für bestehende Systeme, ein, insbesondere auf die beiden Tools cpan2rpm und dh-make-perl.
Diese beiden Werkzeuge erlauben es dem Linux-Sysadmin, mit der gewohnten Softwarepaketverwaltung (RPM, .deb) bei der Installation von CPAN-Modulen zu arbeiten.



Link zu den Slides

Enjoy!

Montag, 10. Dezember 2007

Admins sollen sich mehr mit Internetrecht beschäftigen

Admins sollen sich mehr mit Internetrecht beschäftigen berichtete das Linux-Magazin am 06.12.2007 als prägnante Zusammenfassung der 2. Secure Linux Administration Conference (SLAC).

An der Konferenz konnte ich leider nicht teilnehmen, aber die Slides der Vorträge stehen zum Download bereit, z.B.



Bleibt die Internet-Nutzung am Arbeitsplatz ungeregelt, ist sie für Mitarbeiter laut "regelmäßiger Übung", so der juristische Fachbegriff, grundsätzlich erlaubt. "Die juristischen Folgen sind kaum übersehbar", warnt Bodensiek.
Quelle: Admins sollen sich mehr mit Internetrecht beschäftigen


Aus eigener Erfahrung weiß ich, wie schwer es ist, Manager kleinerer Unternehmen von der Notwendigkeit einer Regelung bezüglich Email und Internet im Unternehmen zu überzeugen.


Als Admin sollte man sich meiner Meinung nach schon informieren, was da so auf einen zu kommen kann.

Beispiel gefällig:


Das Oberlandesgericht Karlsruhe hat am 10.01.2005 (1 Ws 152/04) entschieden, dass Administratoren, die E-Mails filtern oder blocken, sich damit unter Umständen strafbar machen. Dies ist eine Folge daraus, dass E-Mails unter den Begriff der Telekommunikation fallen. Laut § 3 Nr. 16 TKG ist Telekommunikation »der technische Vorgang des Aussendens, Übermittelns und Empfangens von Nachrichten jeglicher Art in der Form von Zeichen, Sprache, Bildern oder Tönen mittels Telekommunikationsanlagen«. Darunter fallen auch E-Mails.

Quelle: Peter Eisentraut , Alexander Wirt: Mit Open Source-Tools Spam und Viren bekämpfen. Für Unix- und Linux-basierte Mailsysteme, S. 316 , ISBN: 389721377X.

Also, beschäftigt euch mehr mit dem Thema Internetrecht, sucht Kontakt zu anderen Admins , sprecht mit dem Datenschutzbeauftragtem, dem Betriebsrat und der Geschäftsführung.

Dies ist keine Rechtsberatung.

Samstag, 8. Dezember 2007

Edsger W. Dijkstra - Discipline in Thought

Über das Leben von Edsger W. Dijkstra, dessen Arbeit ich sehr bewundere, und über seine Art zu Denken gibt es drei Videos bei YouTube:


Die Videos sind in Niederländisch mit englischen Untertiteln.

Film ab:


Enjoy!

Nützliche Tipps zum Thema E-Mail von Jochen Lillich

Jochen Lillich gibt in seinem Weblog Selbstadministration nützliche Tipps zum Thema E-Mail:



Den ein oder anderen Hinweis habe ich auf meine Liste der guten Vorsätze für 2008 gesetzt.

Perl als Business Enabler - Wireless Streaming Media Server in Perl

Squeezebox bietet einen Wireless Streaming Media Server, dessen Software in Perl geschrieben ist. Perl als Business Enabler.

Die Software (SlimServer) kann man kostenlos downloaden.

Der Quelltext macht einen aufgeräumten Eindruck, das Software-Design ist ansprechend.

Intern verwendet SlimServer den Perl Template Toolkit (TT2), DBIx::Class und weitere CPAN-Module.

via: use Perl; Squeezebox, with Perl

Ruby on Rails 2.0 ist fertig

Ruby on Rails gibt es seit gestern in der Version 2.0. Details zu allen Neuerungen gibt es im Railsweblog Rails 2.0: It's done!

Das werde ich mir zwischen den Jahren mal näher anschauen.

via: Heise.de - Web-Applikationsumgebung Ruby on Rails 2.0 ist fertig

Siehe auch:

Freitag, 7. Dezember 2007

Larry Wall: Programming is Hard, Let's Go Scripting...

Perl.com:
Larry Wall's annual State of the Onion describes the state of Perl, the language and the community. In his 11th address, he discussed the past, present, and future of scripting languages, including the several dimensions of design decisions important to the development of Perl 6.

Programming is Hard, Let's Go Scripting...

Donnerstag, 6. Dezember 2007

Herr Schäuble als Anagramm

Was doch der Nachname des Bundesinnenministers bei richtiger Anordnung so alles preisgibt:


perl -le "print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]"


via: Herr Schäuble als Anagramm

Mittwoch, 5. Dezember 2007

Sammel-Verfassungsbeschwerde gegen Vorratsdatenspeicherung nur noch bis zum 24.12.2007

Die Sammel-Verfassungsbeschwerde gegen Vorratsdatenspeicherung läuft noch bis zum 24.Dezember 2007.

Das Registrierungsformular kann man entweder online ausfüllen oder als Blanko downloaden und dann ausfüllen. Das ausgefüllte, ausgedruckte und unterschriebene Formular muss in beiden Fällen noch bis Weihnachten zur Post.

Der Jurist Meinhard Starostik wird die Verfassungsklage einreichen.

Ein Fernsehinterview mit Rechtsanwalt Starostik über die Verfassungsbeschwerde gegen die Vorratsdatenspeicherung wurde bereits am 7.12.2006 auf dem regionalen Berliner Sender TV.Berlin in der Reihe "Stadtgespräch Kontrovers" gezeigt.


Link zum Video.

Dienstag, 4. Dezember 2007

Not All The World's A Unix Box‎

Dave Cantrell hat auf dem London Perl Workshop 2007 in einem Lightning-Talk‎ Not All The World's A Unix Box‎ seine beiden CPAN-Module Devel::CheckOS und Devel::AssertOS vorgestellt (Slides).

Mit Devel::CheckOS lässt sich feststellen, unter welchem Betriebssystem das Perl-Programm gerade läuft. Neben einem freundlichem Interface zu $^O, ist das Modul auch in der Lage auf Varianten eines Betriebssystems, wie z.B. UNIX, das u.a. AIX, Linux oder Solaris bedeuten kann, zu prüfen.

Beispiel aus dem Vortrag:


use Devel::CheckOS qw(os_is);


sub get_users {
if(os_is(‘MicrosoftWindows’)) {
eval ‘use Win32’;

} elsif(os_is(‘Unix’)) {

… getpwent();

}

Mit Devel::AssertOS lässt sich festlegen, auf welchen Betriebssystemen das Modul überhaupt installierbar bzw. lauffähig ist.

Beispiel aus dem Vortrag:

# In Makefile.PL
use lib ‘inc’;
use Devel::AssertOS qw(Unix);

Das Modul lässt sich ab jetzt nur noch auf Betriebssystemen der UNIX-Familie installieren.

Die Frage, wieso man dafür 48 Module benötigt, beantwortet der Vortrag.

Montag, 3. Dezember 2007

Catalyst Advent Calendar 2007

Auf den Perl Advent Kalender 2007 hatte ich ja bereits hingewiesen.

Es gibt auch einen Catalyst Advent Calendar 2007.


via: use Perl: 2007 Catalyst Advent Calendar

Perl on Rails

Einige Entwickler der BBC haben anscheinend Perl on Rails erstellt, eine 1:1-Umsetzung von Ruby on Rails in Perl.

Hoffentlich wird Perl on Rails als Open Source veröffentlicht. Die Chancen stehen eigentlich nicht schlecht, BBC hat ja bereits einige (derzeit 17) Module zum CPAN beigetragen.

Das würde ich mir gerne einmal ansehen.

Siehe dazu auch:

Beginners Perl - Perl für Einsteiger

Die Slides des London Perl Workshop 2007 Tutorials "Beginners Perl" von Dave Cross sind online.



Link zu den Slides

via: Journal of davorg - LPW Slides

Sonntag, 2. Dezember 2007

YAPC::Europe 2008 vom 13. August bis 15. August 2008 in Kopenhagen, Dänemark

Die YAPC::Europe 2008 wird vom 13. August bis 15. August 2008 in Kopenhagen, Dänemark stattfinden.

Das Thema der Konferenz ist "Beautiful Perl".

via: YAPC::Europe 2008, Call for Attention

Wer möchte, kann gleich nach der YAPC::Europe 2008 an einem Marathon teilnehmen: Who wants to run a marathon after YAPC::EU?

Samstag, 1. Dezember 2007

Perl Advent Kalender ist online

Perl Advent '07, ein Online-Kalender-Event zur Weihnachtszeit, das an jedem Tag während der Adventszeit ein Perl-Modul vorstellt, ist online.

Es werden noch Helfer gesucht, die den ein oder anderen Beitrag kurzfristig erstellen können.

Freitag, 30. November 2007

Karstadt migriert auf Linux - Erhebliche Kosteneinsparungen gegenüber Microsoft-Anwendung

Das CIO-Magazin berichtet über die erfolgreiche Umstellung auf Linux und StarOffice bei Karstadt (Arcandor). Das seit Sommer 2003 laufende Projekt konnte im Sommer 2007 erfolgreich beendet werden.

Kostprobe:
"Durch geringere Kosten bei Endgerätehardware und Management sowie bei der Anschaffung von Lizenzen für Betriebssystem und Office-Anwendung gelang es uns, die Betriebskosten im Vergleich zu einer Windows-Umgebung deutlich zu senken", resümiert Projektleiter Peter Ebsen.

Donnerstag, 29. November 2007

Perl 5.10 Advanced Regular Expression slides

Eines der neuen Features von Perl 5.10 ist die verbesserte Regex-Enginge von Yves Orton (demerphq).

Yves hat bereits vor einiger Zeit seine wirklich guten "Perl 5.10 Advanced Regular Expression slides" online gestellt.

Zur Einarbeitung empfohlen.

Patch fixes buffer overflow in Perl regexp compiler

Die ersten Updates, die den Buffer Overflow Fehler (CVE-2007-5116) im Perl Regex Compiler beheben, stehen zum Download bereit:



Der Fehler besteht schon seit Juli 2002 und wurde Anfang 2007 entdeckt. Der Bug tritt nur in Verbindung mit bestimmten Unicode-Patterns auf. Das Pattern stellt die Sicherheitslücke dar, also nicht die Daten, auf welche das spezielle Pattern trifft (matched).

Der Fehler ist in Perl 5.10 nicht mehr vorhanden.

via: use.perl — Patch fixes buffer overflow in regexp compiler

Mittwoch, 28. November 2007

ActivePerl 5.10.0 Build 1000 Beta zum Download

ActivePerl 5.10.0 Build 1000 Beta ist seit 26. November 2007 zum Download freigegeben. Die Version beruht auf dem Release Kandidaten RC1 für Perl 5.10. Eine Version, die den Release Kandidaten RC2 verwendet, wird wohl bald folgen.

via:
Kickstart your week with ActivePerl 5.10.0 Build 1000 Beta

Looking toward Perl 5.10 von Jason Porritt

Jason Porritt geht in seinem Blogposting Looking toward Perl 5.10 auf einige der neuen Features von Perl 5.10 ein:


  • say()

  • case statement

  • Smart matching

  • Defined vs. truth


Enjoy!

Idiomatic Perl - Writing Better Perl

Dave Cross hat den Vortrag zum Thema "Besseren Perl Code schreiben" (PDF) bereits im Jahr 2002 gehalten.

Der lehrreiche Vortrag, der sehr viele Beispiele enthält, hat nichts an Aktualität eingebüßt.

What's New in Perl 5.10 von Paul Fenwick, Audrey Tang, Leon Brocard

Auf dem Nordic Perl Workshop 2007 wurde über die neuen Features von Perl 5.10 ein Vortrag gehalten.



Link zu den Slides von Paul Fenwick, Audrey Tang, Leon Brocard

Enjoy!

What's New in Perl 5.10 von Paul Fenwick, Perl Training Australia

Paul Fenwick (Perl Training Australia) hat bereits am 7. Dezember 2006 einen Vortrag What's New in Perl 5.10 zu den vielen neuen Features veröffentlicht.
Der Vortrag bezieht sich zwar eher auf Perl 5.9, d.h. nicht alle erwähnten Features sind auch tatsächlich in Perl 5.10 implementiert, ist aber wegen der vielen einfach verständlichen Code-Beispiele, immer noch lesenswert.

Die Slides liegen im OpenOffice.org-Format vor. Ein kostenlosen Viewer von SoftMaker für viele Office-Formate gibt es hier.

Montag, 26. November 2007

Perl 5.10.0 Release Candidate 2 ist online

Der Perl 5.10.0 Release Candidate 2 ist online. Die aktuellen Änderungen findet man in der perldelta Seite. Es handelt sich ausdrücklich um einen DEVELOPER RELEASE.

via: Perl 5.10.0 RC 2 released

Sonntag, 25. November 2007

Zufallszahlen via Internet mit Net::Random

Net::Random von David Cantrell ermöglicht es, Zufallszahlen via Internet zu beziehen. Es ist eigentlich als Notfalllösung gedacht, falls keine oder keine geeigneten Zufallszahlen zur Verfügung stehen.

Net::Random nutzt dazu random.org bzw. www.fourmilab.ch als Quelle für Zufallszahlen. Beide Quellen geben an, das ihre Zufallszahlen "truly random" sind. Das sind immerhin bessere Zufallszahlen, als einige Betriebssysteme liefern.

Für kryptographische Zwecke würde ich jedoch keine Zufallszahlen via Internet beziehen.

Beispiel:


#!/usr/bin/perl
use strict;
use warnings;
use Net::Random;

my $rand = Net::Random->new(
# use random.org randomness source,
src => 'random.org',
# src => 'fourmilab.ch',
# and return results from 1 to 2000
min => 1,
max => 2000
);

my @numbers = ();

# Fehler werden über warnings gemeldet
eval {
local $SIG{__WARN__} = sub {die 'WARN: '.shift};
# get 5 numbers
@numbers = $rand->get(5)
};

# Fehlerbehandlung
if ( $@ ) {
warn "Fehler: $@";
die $@;
}



foreach my $number ( sort { $a <=> $b } @numbers ) {
print "$number\n";
}
__END__

OpenOffice erweitern, Themen-Special im heise Software-Verzeichnis

Linktipp:

Jede Menge nützliche Erweiterungen für das kostenlose Büropaket OpenOffice.org, wie beispielsweise das OpenOffice-Vorlagenpaket, findet man auch im Themen-Special im heise Software-Verzeichnis: OpenOffice erweitern.

Samstag, 24. November 2007

Comics: The watering hole

The Watering Hole (O'Reilly Network) bietet eine kleine aber feine Comics-Serie rund um Open-Source, Perl, Python, Ruby und mehr.



Enjoy!

Comics: Perl vs. Lisp



http://xkcd.com/224/

Zugegeben, schon etwas älter, aber immer wieder gut.

via:
Perl Buzz: Perl in the comics

"Perl dev room" auf der FOSDEM 2008 in Brüssel?

Für die am am 23./24. Februar 2008 in Brüssel stattfindende Fosdem 2008 werden noch Teilnehmer und Sprecher für den "Perl dev room" gesucht. Wer Interesse hat, sollte sich vor dem 26. November 2007 direkt an eco wenden.

via:

CPANdeps berücksichtigt jetzt auch die Perl Versionsnummer

Dave Cantrell hat sein webbasiertes Tool CPANdeps, welches die Abhängigkeiten für ein CPAN-Modul ermittelt und aus den dazugehörigen Testergebnissen die Wahrscheinlichkeit für eine erfolgreiche Installation abschätzt, noch einmal verbessert.

CPANdeps berücksichtigt jetzt auch die unterschiedlichen Perlversionen.

Ein Bild sagt ja bekanntlich mehr als 1000 Worte: Zum unverbindlichen Ausprobieren einfach diesem Link folgen.

siehe auch:

Freitag, 23. November 2007

Hand in Hand: Web::Scraper and XPather (Firefox)

Web::Scraper ermöglicht das Scrapen von Websites mittels XPath.

Um den XPath zu einem bestimmten Element auf einer Website zu finden, kann man beispielsweise die Firefox-Erweiterung XPather verwenden.

Diesen Trick habe ich im Journal von Roland Giersig gefunden (Handy tools: Web::Scraper and XPather (Firefox)) und gleich ausprobiert.

Es kann so einfach sein.


Siehe auch frühere Postings zu Web::Scraper:

Mittwoch, 14. November 2007

Performance Whack-a-Mole: Schritt für Schritt Anleitung zum Performance Tuning von Datenbanken

Datenbank zu langsam?

Pimp your database!

Eine verständliche Schritt für Schritt Anleitung zum Performance Tuning von Datenbanken liefert Josh Berkus, PostgreSQL Lead, Sun Microsystems, in dem Vortrag Performance Whack-a-Mole, den er auf der OSCON 2007 gehalten hat.



Link zu den Slides.

Enjoy!

Dienstag, 13. November 2007

Perl-Umfrage: Ergebnisse sind online

Die Ergebnisse der Perl-Umfrage von Kirrily Robert sind online (PDF).

Andy Lester's CPAN Module Data::PerlSurvey2007 hilft bei der eigenen Auswertung der Daten.

Weiterhin gibt es noch eine Sammlung von Links zu weiteren Auswertungen der Perl-Umfrage von anderen Autoren.

via:

Netzwerke für Perl Programmierer: LinkedIn, Xing, Perl Mongers

Nachdem ich jetzt mehrfach über die Gruppen für Perl-Programmierer bei LinkedIn geschrieben habe, möchte ich bei der Gelegenheit auch auf die Gruppe für Perl-Programmierer bei Xing hinweisen, obwohl sicherlich viele diese Gruppe bereits kennen.

Weiterhin möchte ich auf Perl Monger Gruppen in Europa hinweisen. Bei den meist regelmässigen Treffen lernt man nette Menschen kennen und bei den Vorträgen und Fachsimpeleien immer wieder etwas dazu. Weiterhin werden bei diesen Treffen aktuelle Job- und Projektofferten angesprochen, bevor diese der breiten Öffentlichkeit bekannt gemacht werden. Man muss kein Profi sein, um an diesen Treffen teilnehmen zu können; Interesse an Perl genügt.

Aus meiner mehrjährigen persönlichen Erfahrung kann ich jedem Perl-Programmierer eine Mitgliedschaft und aktive Teilnahme in den genannten Netzwerken empfehlen.

Perl Mongers sind stark vor Ort, Xing im deutschsprachigem Raum, LinkedIn weltweit.

In diesem Sinne: Vernetzt euch.

CPAN-Authors around the world, unite! CPAN-Authors Gruppe bei LinkedIn

Zusätzlich zur LinkedIn Gruppe für Perl Mongers, gibt es jetzt auch eine Gruppe für die zahlreichen CPAN-Autoren bei LinkedIn.

Join the CPAN Authors group!

via:



Siehe auch:

Perl Mongers Gruppe bei LinkedIn knackt 500er Marke

Die Perl Mongers-Gruppe bei LinkedIn hat innerhalb weniger Tage bereits mehr als 500 Mitglieder.

Es ist schon erstaunlich, wen man da so alles wieder trifft.

Wer als LinkedIn-Mitglied noch nicht Mitglied dieser Gruppe ist, kann hier beitreten.

Montag, 12. November 2007

Web::Scraper mit verbessertem Support für CSS-Selektoren

Web::Scraper , ein CPAN-Modul, welches das Scrapen von Websites mittels XPath oder CSS Selektoren ermöglicht, ist wieder etwas besser geworden: Web::Scraper now has nth-child(N) support in CSS selector.

Weiterhin gibt es auch ein neues Beispiel zur Nutzung: Web::Scraper hacks #3: Read your browser's cookies.


Siehe auch:




There are two ways of constructing a software design.
One way is to make it so simple that there are
obviously no deficiencies.
And the other way is to make it so complicated that
there are no obvious deficiencies.
--C.A.R. Hoare

Samstag, 10. November 2007

CPAN Module vergleichen mit CPAN Compare

CPAN Compare ist ein neues Tool von John Wang, welches den Vergleich mehrerer CPAN-Module mittels CPAN Ratings ermöglicht.



via: Comparing CPAN Modules with YUI DataTable.

Freitag, 9. November 2007

Catalyst Tricks

Jozef Kutej (JKUTEJ) von Bratislava.pm hat auf dem letzten Treffen der Wiener Perl Mongers einen Vortrag über Catalyst Tricks gehalten.

In den Slides wird zunächst gezeigt, wie schnell man eine Applikation mit Catalyst for Perl erstellen kann. Anschließend zeigt Jozef noch ein paar coole Tricks mit DBIx::Class.


Siehe dazu auch vorhergehende Posts:

Perl Mongers around the world, unite! Perl Mongers Gruppe bei LinkedIn

Es gibt jetzt eine Gruppe für die zahlreichen Perl Mongers bei LinkedIn.

Join the group!


via: Perl Mongers around the world, unite!

Donnerstag, 8. November 2007

London Perl Workshop am 01. Dezember 2007

Am 01. Dezember 2007 findet ein kostenloser eintägiger Perl-Workshop in London statt (London Perl Workshop).

Die Liste der Talks enthält deutlich mehr Lightning Talks als sonst, da diese so beliebt sind.

Wäre doch mal was für einen Wochenend-Kurztripp nach London.

via: Perl Buzz:
London Perl Workshop on December 1, 2007

Natural Language Processing in Perl

Walt Mankowski (‎waltman‎) hat auf dem Pittsburgh Perl Workshop einen Talk über Natural Language Processing in Perl gehalten. Die Slides (PDF) sind ebenfalls online.

Walt gibt eine kurze Übersicht zu den vorhandenen NLP-Modulen auf dem CPAN, insbesondere Lingua::EN::* und Lingua::LinkParser.

Das Ganze ist zwar auf die englische Sprache bezogen, aber trotzdem sehr lesenswert, zumindest für Linguisten.

Amazons Online-Storage-Dienst S3 künftig auch auf EU-Servern

Amazon Simple Storage Service (Amazon S3) steht künftig auch auf EU-Servern zur Verfügung.

Die Latenz wird dadurch für Europäer wohl geringer, allerdings wird das Ganze auch für die kleineren Kunden etwas teurer.

Die Unterschiede:
$0,15(US)/$0,18(EU) pro GB Plattenplatz und Monat,
$0,01(US)/$0,012(EU) für 1.000 PUT oder LIST Requests,
$0,01(US)/$0,012(EU) für 10.000 GET und alle übrigen Requests.


Siehe auch:

Mittwoch, 7. November 2007

Test::Harness 3.00

Test::Harness 3.00 ist seit wenigen Tagen live. Test::Harness 3.00 ist gegenüber Version 2 komplett neu geschrieben worden, fühlt sich viel sauberer an und erlaubt jetzt paralleles Testen (prove -j).

Siehe auch:

Neue Ausgabe $foo - Perl-Magazin online (4/2007)

Die neue Ausgabe (4/2007) des $foo - Perl-Magazin ist seit gestern abend online.

Inhaltsübersicht:


  • ExcelPerl

  • Module für Reguläre Ausdrücke

  • Moose

  • CPAN-News

  • Net::SIP

  • Perl 6 Tutorial I

  • Slices

  • HTML::Template::Compiled

  • Caching in Webapplikationen

  • Sessions in Catalyst

  • YAPC::Europe 2007

  • Rezension ("Intermediate Perl" von Randal L. Schwartz, brian d foy und Tom Phoenix)

  • Interview - André Mindermann (OTRS)

  • Ruhr.pm



siehe auch: 4. Ausgabe von $foo

Dienstag, 6. November 2007

brian's Guide to Solving Any Perl Problem

brian d foy hat bereits vor geraumer Zeit eine hilfreiche Checkliste zum Lösen diverser Perl-Probleme veröffentlicht:


Sollte jeder ernsthafte Perl-Programmierer kennen.

Montag, 5. November 2007

Aus dem Teufelskreis ausbrechen

In 20 Tipps gegen Stress hatte ich mir von Jochen Lillich gewünscht, das er noch mehr Artikel zu diesem Thema übersetzt.

Jochen hat diesen Wunsch heute erfüllt und Aus dem Teufelskreis ausbrechen gepostet. Danke.

Als Kostprobe die Liste der wichtigsten Punkte:


  1. Innehalten

  2. Aufräumen und ordnen

  3. Auswählen

  4. Vertagen und delegieren

  5. Ablehnen

  6. Sammeln


Mehr gibt es hier: Aus dem Teufelskreis ausbrechen.

Lesenwert.

Freitag, 2. November 2007

Perl 5.10 for People Who Aren't Totally Insane

Perl 5.10 wird demnächst erscheinen. Der Code freeze for 5.10 wurde zumindestens schon einmal am 22. Oktober 2007 angekündigt.

Zur Vorbereitung ein paar Slides zu den neuen, coolen Features in Perl 5.10.

Der Talk wurde unter dem Titel Perl 5.10 for "Normal" Programmers auf dem Pittsburgh Perl Workshop von Ricardo Signes (‎rjbs‎) gehalten.



Link: Perl 5.10 for People Who Aren't Totally Insane

Enjoy!

Mittwoch, 31. Oktober 2007

Coping With Scoping (deutsche Übersetzung) bei SELFHTML

Das Standard-Tutorial zum Variablenkonzept von Perl Coping With Scoping von Mark Jason Dominus liegt jetzt in deutscher Übersetzung bei SELFHTML vor.

via: Neuer Artikel: Coping With Scoping (deutsche Übersetzung)

Podcast - FLOSS Weekly 20: Catalyst for Perl

Ruby on Rails ist nicht das einzige Application Framework und auch nicht unbedingt das Beste.

Es gibt z.B. auch Catalyst for Perl (the MVC framework that makes web development fun, fast, and rewarding), welches u.a. von Vox.com und anderen großen Websites genutzt wird.

Catalyst-Evangelist Jay Shirley spricht mit Randal Schwartz und dem Gastgeber Leo Laporte in dem Podcast FLOSS Weekly 20: Catalyst for Perl (MP3 44:15 min).

Schöne Übersicht zu Catalyst. Einfach mal auf den Player laden und anhören.


Siehe auch: I'm on FLOSS Weekly (after a month :))

Dienstag, 30. Oktober 2007

ExcelPerl: Excel-Dateien unter Windows mit Perl-Einzeilern bearbeiten

Martin Fabiani (strat) hat auf dem 3. Frankfurter Perl-Community Workshop einen Vortrag über ExcelPerl: Excel-Dateien unter Windows mit Perl-Einzeilern bearbeiten gehalten.

ExelPerl kann via Win32::OLE Excel-Dateien direkt editieren (lesen und schreiben).

Das Tool ist somit zwar auf Windows-Betriebssysteme mit installiertem Excel beschränkt, allerdings steht der volle Funktionsumfang von Excel zur Verfügung.

TPR interviews Jesse Vincent, Perl 6 Project Manager

Bei The Perl Review gibt es ein Interview mit Jesse Vincent, Perl 6 Projekt Manager, zum aktuellen Stand der Perl 6 Entwicklung.

Es werden noch jede Menge freiwillige Tester gesucht.

"TPR: What can the average Perl programmer do to help the Perl 6 project? What's the easiest way to contribute something right away?

Jesse: Tests! Pick up the Pugs test suite and start looking at sections of the synopses that don't have quite enough coverage yet. Larry's best guess is that we need to double the test suite before we've got proper coverage.

TPR: What's the best way for a new Perl 6 developer to start participating in the work?

Jesse: Haul down Pugs, kp6, or Parrot and Onion and write


say 'Hello World';

TPR: What can the casual programmer do to help? Are there things besides heavy virtual machine hacking and deep voodoo?

Jesse: Tests, tests, tests! Definitely the right way to get started."



via: TPR interviews Jesse Vincent, Perl 6 Project Manager

3. Frankfurter Perl-Community Workshop Slides der Vorträge von Max Maischein sind online

Die Slides der Vorträge von Max Maischein sind online:


Enjoy!

Sonntag, 28. Oktober 2007

3. Frankfurter Perl-Community Workshop Vorträge Sonntag 28.Oktober 2007

Heute war der dritte und letzte Tag des 3. Frankfurter Perl-Community Workshops.

Folgende Vorträge, diesmal mit Beamer, wurden heute im kleinen Kreis (acht Personen) gehalten:



Details, Links zu Slides und ausführlichere Besprechungen wie gewohnt in den Tagen nach dem Workshop.

Update:
Siehe auch: Frankfurt Perl-Workshop Tag 3

Samstag, 27. Oktober 2007

3. Frankfurter Perl-Community Workshop Vorträge Samstag 27.Oktober 2007

Heute war der zweite Tag des 3. Frankfurter Perl-Community Workshops
Am Freitag Abend fand bereits ein kleines Treffen statt.

Die Veranstaltung fand wie geplant im Club Voltaire von 10:15 bis 18:00 Uhr statt.

Dummerweise wurde uns vom Club Voltaire kein Beamer zur Verfügung gestellt. Ein lokales WLAN ohne Internetzugang stand jedoch zur Verfügung. Max Maischein konnte mittels VNC ein kleines Screencast-Netzwerk für die Vorträge einrichten. Jeder sieht auf seinem Laptop-Bildschirm den Bildschirm des Vortragenden. Genial. Danke Max.

Heute wurden folgende Vorträge im kleinen Kreis (sieben Personen) gehalten:



Details, Links zu Slides und ausführlichere Besprechungen wie gewohnt in den Tagen nach dem Workshop.

Update:
Siehe auch Frankfurt Perl-Workshop Tag 2

Sonntag, 21. Oktober 2007

Quick Hack: Visualisierung der verwendeten Module

Wer schon immer mal die in seinem Programm verwendeten Module und ihre Hierachie visualisieren wollte, findet in dem Posting Journal of BooK: Graphing module usage ein kleines Programm, welches die Ausgabe von Devel::TraceUse nutzt und mittels GraphViz als Hierachie graphisch präsentiert.


Beispiel:


perl -d:TraceUse your_program.pl > modules.txt
perl graph_modules.pl modules.png < modules.txt

graph_modules.pl enthält den Hack von BooK.

Aus der Liste der verwendeten Module (modules.txt)

Modules used from your_program.pl:
Test::MockObject::Extends, line 6 (0.000514)
Test::MockObject, line 6 (0.000408)
Scalar::Util, line 9 (0.000521)
List::Util, line 12 (0.000393)
XSLoader, line 24 (0.000396)
UNIVERSAL::isa, line 10 (0.000436)
UNIVERSAL, line 8 (0.000247)
UNIVERSAL::can, line 11 (0.000428)
Test::Builder, line 13 (0.000413)
Devel::Peek, line 8 (0.000693)

ensteht die Graphik modules.png.



Cooler Hack.

Siehe auch: Graphviz - Graph Visualization Software

Mittwoch, 17. Oktober 2007

Essential One-liners

Essential One-liners ist ein Talk für Perl-Einsteiger, den Walt Mankowski (‎waltman‎) auf dem Pittsburgh Perl Workshop 2007 gehalten hat. Die Slides (PDF) sind bereits online.

Gelungene Einführung. Lesenswert.


siehe auch: Perl One Liners

Mit Perl an die Börse (OTRS GmbH wird AG)

Die OTRS GmbH, Hersteller der Helpdesk-Software OTRS, ist seit ein paar Tagen eine Aktiengesellschaft. Laut Pressemitteilung vom 16.10.2007 erfolgt die Umfirmierung der Open-Source-Firma mit strategischem Ziel Börsengang.

Was man mit Open-Source-Software, die überwiegend in Perl programmiert ist, so alles erreichen kann.


Siehe auch:

Dienstag, 16. Oktober 2007

Daten der Perl Umfrage 2007 sind online

Die Daten der Perl Umfrage 2007 sind seit 15. Oktober zum Download (tar.gz) online. Die Roh-Daten können mit dem CPAN-Modul Data::PerlSurvey2007 zur eigenen Auswertung bearbeitet werden.


via: Perl Survey 2007 data released

Montag, 15. Oktober 2007

Blog Action Day: Energie sparen bei Bürogeräten



Nach meiner Erfahrung lassen sich Energiesparmassnahmen im Betrieb recht einfach über den Hinweis auf Kosteneinsparungen bei der Geschäftsführung durchsetzen. Die ökologischen Vorteile gibt es als kostenlose Dreingabe.

Wichtig ist, das die Energiesparmassnahmen einfach durchzuführen sind. Alles was kompliziert ist, verliert sich im betrieblichem Alltag.


Hier meine, sicherlich erweiterbare, Liste mit einfachen, aber wirksamen Tipps für Bürogeräte:

  • Stromfresser aufspüren. Hierzu genügt oft schon ein kleines Messgerät für ca. 20 EUR.

  • Komplett abschalten. Auch im Schlafmodus und sogar nach dem Abschalten laufen Bürogeräte heimlich weiter. Hier hilft nur eine Steckerleiste mit Ein-Aus-Schalter.

  • Energiesparfunktion aktivieren. Die Energiesparfunktionen können den Stromverbrauch um bis zu 90% senken. Vorsicht: Erst ausprobieren, ob es mit Ihrem Computer wirklich sauber läuft.

  • Kein Bildschirmschoner. Man kann den Bildschirm auch über die Energiesparfunktion komplett ausschalten

  • Monitore austauschen. Flachbildschirme benötigen bis zu zwei Drittel weniger Strom als Röhrenmonitore. Bei acht Stunden täglichem Betrieb amortisiert sich der Flachbildschirm in weniger als zwei Jahren.

  • Drucker ausschalten. Laserdrucker benötigen mehr Strom als Tintenstrahldrucker. Hier lohnt sich die Energiesparfunktion des Laserdruckers. Bei längerer Abwesenheit, z.B. über Nacht, das Gerät komplett ausschalten.

  • Vor der Anschaffung Stromverbrauchswerte prüfen: Drucker benötigen zwischen 12 (zwölf) und 220 (zweihundertzwanzig) Watt.



Siehe dazu auch Impulse August 2007: Energie sparen: Weg mit den Stromfressern.

Mittwoch, 10. Oktober 2007

Perl is a fine tool for many applications (10th ICFP Programming Contest)

Die Ergebnisse des 10th ICFP Programming Contest sind seit dem 10. Oktober 2007 online (PDF).

Perl belegt den zweiten Platz in der Jury-Wertung, C++ den ersten.

Zitat:
"Second prize

The jury is pleased to declare that United CodingTeam (Cape Town, South Africa) has proven that

Perl is a fine tool for many applications."



via: Journal of acme: Perl is a fine tool for many applications

WDH: Call for Papers: Deutscher Perl-Workshop 2008

Das Orga-Team würde sich über mehr Vorschläge für Vorträge freuen, daher eine Wiederholung (WDH) eines früheren Postings:

Vom 13.02.2008 bis 15.02.2008 (Mittwoch bis Freitag) findet der 10. Deutsche Perl-Workshop am Regionalen Rechenzentrum der Uni Erlangen statt. Zielgruppe des Workshops sind alle ernsthaften Perl-Anwender und die, die es werden wollen.

Der Call for Papers läuft noch bis zum 29.10.2007.

Der (unser) Workshop steht und fällt mit den Vorträgen. Üblicherweise sind Vorträge 5, 20 oder 40 Minuten lang. Alle Themen, die in irgendeiner Weise mit Perl oder dem Perl-Umfeld zu tun haben, können als Vorträge für den Workshop interessant sein.

Lightning Talks?

Wer noch nie einen Vortrag gehalten hat, kann mit Lightning Talks, also ganz kurzen Vorträgen, so ca. 5 Minuten, anfangen.


I want to see people using Perl to glue things together
creatively, not just technically but also socially.
--Larry Wall in <199702111730.JAA28598@wall.org>

Dienstag, 9. Oktober 2007

Amazon's Dynamo

Dynamo ist der Name der Technologie, die von Amazon enwickelt und intern genutzt wird.

Werner Vogels, Amazon CTO, hat seinen Vortrag über Dynamo (PDF), den er Mitte Oktober 2007 auf der SOSP hält, schon vorab veröffentlicht.

"This paper presents the design and implementation of Dynamo, a highly available key-value storage system that some of Amazon’s core services use to provide an “always-on” experience."

Lesenswert.

Amazon S3 jetzt mit SLA

Amazon Simple Storage Service (Amazon S3) bekommt endlich ein Service Level Agreement.

Das Fehlen eines SLA wurde bereits öfter (Amazon Web Services and the lack of a SLA und Amazon EC2 and S3 disaster planning) bemängelt.

Auch wenn das ein oder andere noch fehlt, so ist es doch ein wichtiger Schritt nach vorn für alle, die S3 in ihren Desaster Recovery Plan integrieren möchten. Es dürfte sich auch positiv auf den Umsatz mit S3 bei Amazon auswirken.