Filter :: Simple.

Filter :: Einfaches Modul ermöglicht eine vereinfachte Quellfilterung.
Jetzt downloaden

Filter :: Simple. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Damian Conway
  • Website des Verlags:
  • http://search.cpan.org/~dconway/

Filter :: Simple. Stichworte


Filter :: Simple. Beschreibung

Filter :: Einfaches Modul ermöglicht eine vereinfachte Quellfilterung. Filter :: Einfaches Modul ermöglicht eine vereinfachte Quellfilterung.Synopsis # in myFilter.pm: Paket MyFilter; Filter verwenden :: einfach; Filter {...}; # oder gerade: # # Filter verwenden :: einfache sub {...}; # im Benutzer des Benutzers: Verwenden Sie MyFilter; # Dieser Code wird ohne MyFilter filtriert. # Dieser Code ist notthe the problemorarce filtring ist ein immens leistungsfähiges Merkmal der letzten Versionen von Perl. Es ermöglicht es, die Sprache selbst zu erweitern (z. B. das Schaltmodul), um die Sprache zu vereinfachen (z. B. Sprache :: pythonequeque) oder um die Sprache vollständig zu rekassen (z. B. Lingua :: Romana :: Perligata). Es ermöglicht effektiv, die volle Leistung von Perl als eigene, rekursiv angewandte, makrosprachige Weise zu verwenden. Zu mächtig und nicht fast so einfach, wie es sein könnte. (Wenn Sie Perl 5.7.1 oder höher haben, ist dies bereits für Sie erledigt.) Richten Sie ein Modul ein, das ein Gebrauchsfilter :: util :: anrufen. Erstellen Sie innerhalb dieses Moduls eine Import-Subroutine. Setzen Sie innerhalb des Imports-Subroutine einen Anruf an filter_add, indem Sie entweder eine Subroutine-Referenz angeben. Anrufen von Filter_Renad oder filtern_read_exact auf "Prime" $ _ mit Quellcodedaten aus der Quelldatei, die Ihr Modul verwenden, auf "Prime" -Andruckdaten auf "Prime" in "Prime", die Ihr Modul verwenden wird. Überprüfen Sie den Statuswert, der zurückgegeben wurde, um zu sehen, ob ein Quellcode tatsächlich eingelesen wurde. Bearbeiten Sie den Inhalt von $ _, um den Quellcode auf der gewünschten Weise zu ändern. Geben Sie den Statuswert zurück. Wenn der Akt des UNIVPORTING IHREM MODUL (über A NEIN) Ursache der Quellcode-Filterung zum Aufhören verursachen soll, erstellen Sie eine UNIMPORT-Subroutine und lassen Sie ihn filter_del anrufen. Stellen Sie sicher, dass der Anruf zu filtern_read oder filtern_read_exact in Schritt 5 in Schritt 5 nicht versehentlich an der Nein abgelesen wird. Dies greift effektiv an, dass der Quellcode-Filter in den Zeilen- by-by-line-Operations-Betriebsmittel, es sei denn, die Import-Subroutine leistet vor dem Voranalysen des Frequenzcodes, der er filtriert. Zum Beispiel ist hier ein minimaler Quellcode-Filter in einem Modul namens bang.pm. Es konvertiert einfach jedes Ereignis der Sequence Bangs + Bang in den Sequenzstempel 'Bang', wenn $ Bang in einem Code-Stück nach einem Gebrauchsbang Erklärung (bis zum nächsten No Bang; Aussage, falls vorhanden): Packung Bang; Verwenden Sie Filter :: util :: rufen Sie an; Unterimport {filtern_add (sub {My $ Caller = Anrufer; mein ($-status, $ no_seen, $ data); während ($ status = filtern_read ()) {if (/ ^ s * noS + $ callers *; s *? $) /) {$ no_seen = 1; zuletzt;} $ Daten. = $ _; $ _ = "";} $ _ = $ data; S / Bangs + Bang / Die "Bang", wenn $ Bang / g, sofern $ $ No. $ 0; $ _. = "Nein $ Class; n", wenn $ no_seen; zurücksenden 1;})} sub unimport {filtern_del (); } 1; Dieses Niveau der Raffinesse bringt die Filterung von vielen Programmierern aus. Eine, die für die meisten gängigen Fälle ausreichend ist (Wenn Sie perl 5.7.1 oder höher haben, ist dies bereits für Sie erledigt.) Richten Sie ein Modul ein, das einen Verwendensfilter :: einfacher und dann filtern {...} anrufen. Innerhalb des anonymen Subroutins oder des Blocks, das an das Filter übergeben wird, verarbeiten Sie den Inhalt von $ _, um den Quellcode auf der gewünschten Weise zu ändern. Mit anderen Worten, das vorherige Beispiel würde: Packung Bang; Filter verwenden :: einfach; Filter {S / SCHNITT + BANG / DIE 'BANG' IF $ BANG / G; }; 1 Beachten Sie, dass der Quellcode als einzelne Zeichenfolge übergeben wird, sodass jeder Regex, der ^ oder $ verwendet, Leitungsgrenzen verwendet, die / M-Flaggen erforderlich ist: · Perl-Anforderungen: · Perl.


Filter :: Simple. Zugehörige Software