=head1 NAME Acme::Don't - Das Gegenteil von C =head1 VERSION Dieses Dokument beschreibt Version 1.01 von Acme::Don::t, veröffentlicht am 3. Mai 2002. =head1 ÜBERBLICK use Acme::Don't; don't { print "Dieser Text wird " . "nicht ausgegeben werden\n" }; # NO-OP =head1 BESCHREIBUNG Das Modul Acme::Don't definiert ein Kommando namens C, das das Gegenstück zum Perl-eigenen C darstellt. Es wird genauso verwendet wie die Funktion C, mit der Ausnahme, dass es, statt den übergebenen Block auszuführen, das... nunja... nicht tut. Unabhängig vom Inhalt des Blocks, gibt C C zurück. Auch das hier geht: don't { # Code } while bedingung(); Und ja: In strenger Anlehnung an die Semantik von Perls magischem C wird der C-Block dabei I vor der Prüfung der Bedingung kein einziges Mal ausgeführt. ;-) Zu beachten ist, dass der C-Block syntaktisch korrekten Perl-Code enthalten muss. Das ist ein zentraler Punkt: Die durch Nicht-Ausführung des Codes erzielten Leistungssteigerung wird erzielt, ohne die Sicherheit, die die Syntax-Prüfung während der Übersetzung des Scripts bietet, zu opfern. =head1 EINSCHRÄNKUNGEN =over =item * Das Gegenteil von C wird (noch) nicht implementiert. Als provisorische Lösung funktioniert: don't {"Dateiname"}; =item * Das Konstrukt don't { don't { ... } } ist (noch) nicht bedeutungsgleich mit: do { ... } weil das äußere C die Ausführung des inneren C verhindert, bevor das innere C die Möglichkeit hat zu erkennen, dass es tatsächlich I ausgeführt werden sollte. Das ist freilich eine Frage der Semantik. C bedeutet nicht C; es bedeutet C. Anders gesagt: Nichts gegen nichts tun tut... nichts. =item * Es ist (noch) nicht möglich don't { ... } unless bedingung(); als Ersatz für do { ... } if bedingung(); einzusetzen. Auch dies ist eine Frage der Semantik. C bedeutet nicht C; es bedeutet C. =back =head1 URHEBER Damian Conway (damian@conway.org) =head1 BESCHWERDEN Luke Palmer sollte I viel besser aufpassen, bevor er vorschnell Wünsche äußert. =head1 FEHLER Unwahrscheintlich, denn es tut ja nichts. Ansonsten sind Fehlerberichte und anderweitige Rückmeldungen sehr willkommen. =head1 COPYRIGHT Copyright (c) 2002, Damian Conway. Alle Rechte vorbehalten. Dieses Modul ist freie Software. Es darf gemäß den Vorschriften der Perl Artistic License verwendet, weitergegeben und/oder verändert werden (vgl. http://www.perl.com/perl/misc/Artistic.html)