Donnerstag, 10. Januar 2008

Perl 5.10: use 5.010;

Die gute Nachricht zuerst: Perl 5.10 ist rückwärtskompatibel zu früheren Perlversionen.

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

Alle neuen Features verwenden


use strict;
use warnings;
use 5.010; # Bevorzugt zu verwenden

oder

use strict;
use warnings;
use 5.10.0;

oder

use strict;
use warnings;
use feature qw/:5.10/;

oder

use strict;
use warnings;
use feature ':5.10.0';

Aus Portabilitätsgründen ist die erste Form zu bevorzugen.

Kommandozeilenschalter -E

Die neuen Features können auf der Kommandozeile mit dem neuen Schalter -E geladen werden:

perl -w -E "say 'Hallo Welt'"


Nur bestimmte Features einbinden

Wer nur bestimmte Features einbinden möchte, muss dies explizit angeben.

Beispiel: state, say und switch einbinden

use feature qw/say state switch/;


Scope

Alle neuen Features, die über das Pragma use feature eingeführt werden, haben einen lexikalischen Scope (Geltungsbereich), d.h. es ist nur im umschließenden Block bzw. Datei gültig.

Man kann sie daher für einzelne Codeblöcke einschalten

use strict;
use warnings;

{ # Start of Scope
use feature 'say';
say "say ist hier verfügbar.";
} # End of Scope

print "say ist hier nicht verfügbar.\n";


oder mittels no feature ausschalten.


use strict;
use warnings;
use feature 'say';

say "say ist hier verfügbar";

{ # Start of Scope
no feature 'say';
print "Hier ist say nicht verfügbar.\n";
} # End of Scope

say "Hier ist say wieder verfügbar.";

Siehe dazu auch:


That's it.

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

Keine Kommentare: