Stolperfallen in Perl’s Spezialmethoden: DESTROY

Durch einen Kollegen bin ich auf ein Problem aufmerksam geworden, was ein verwirrendes Verhalten von globalen Variablen in Verbindung mit DESTROY beschreibt. Man nehme folgenden Code und betrachte speziell den unteren eval-Block:

use Test::More tests => 1;
{
package Foo;
[weiterlesen] “Stolperfallen in Perl’s Spezialmethoden: DESTROY”

Merkwürdiges Verhalten bei lvalue

Ich habe mich heute mal mit dem lvalue Attribute auseinander setzen müssen und einige Unstimmigkeiten festgestellt.

  1. Es macht einen Unterschied, ob man einen Rückgabewert implizit oder explizit liefert. Implizit, also einfach der letzte Wert der Methode, funktioniert für lvalue. Explizit,
[weiterlesen] “Merkwürdiges Verhalten bei lvalue”

Ändern und mehrfaches Installieren von Perl-Modulen

Wenn man aus einem Perl-Modul per perl Makefile.PL;make;make install das Modul installiert, dann den Quellcode ändert und es nochmal installieren will, MUSS man make clean ausführen oder die vom Makefile angelegten Daten selber löschen. Ansonsten wird immer wieder das alte … [weiterlesen] “Ändern und mehrfaches Installieren von Perl-Modulen”

Merkwürdigkeiten beim Taint-Mode in Perl

Schreibt man einen CPAN-Modul-Test kommt man um den Taint-Modus nicht herum. Normalerweise ist der auch nicht das Problem, allerdings ist heute ein Test auf einem Gentoo-System fehlgeschlagen und es ergibt absolut keinen Sinn.

In den bemängelten Zeilen steht lediglich use [weiterlesen] “Merkwürdigkeiten beim Taint-Mode in Perl”

Perl und Prototypen

Nur vorab: ich bin nicht gegen Perl, sondern eigentlich dafür 🙂

Punkt eins: You see, „prototypes“ were really a bug fix. (Quelle: http://library.n0i.net/programming/perl/articles/fm_prototypes: Far More Than Everything You’ve Ever Wanted to Know about Prototypes in Perl die Quelle wurde leider [weiterlesen] “Perl und Prototypen”

Perl und Overflow die zweite

Ich habe weiter ein wenig rumgesucht und immerhin eine brauchbare Variante zum Finden der Systemeigenen Inf-Markierung gefunden.
my $overfloating_float = 0;
my $overfloating_float_string = '';
m< $i = 98;
while($i++) {
$overfloating_float = '1.2e+' . $i;
my $result = ($overfloating_float
[weiterlesen] “Perl und Overflow die zweite”

Schlechte CPAN-Module (Teil 2): CGI

Module, die sich als Eierlegende-Wollmilch-Sau geben, haben oft ein Problem: sie können zu viel und irgendwie nichts richtig. Das Gefühl hab ich beim CGI-Modul schon lange. Und heute wurde es auch bewiesen. Ich habe mir leider nie die Mühe gemacht … [weiterlesen] “Schlechte CPAN-Module (Teil 2): CGI”