clean_js.pl --help | --version
clean_js.pl [--in IN] [--out OUT] [--encoding_in ENC_IN] [--encoding_out ENC_OUT] [--verbose...] [--no_verbose]
--versionGibt kurze Hinweise zum Programm und die Version aus.
--helpGibt eine kurze Hilfe aus.
--in ININ ist der Dateipfad der Eingabedatei (Javascript) oder "-". "-" steht für die Standard-Eingabe und ist die Voreinstellung.
--out OUTIN ist der Dateipfad der verkleinerten Ausgabedatei (Javascript) oder "-". "-" steht für die Standard-Ausgabe und ist die Voreinstellung.
--encoding_in ENC_INZeichenkodierung der Eingabe (Javascript). Vorgabe ist "utf-8".
--encoding_out ENC_OUTZeichenkodierung der Ausgabe (Javascript). Vorgabe ist "utf-8".
Das Perl-Skript clean_js.pl entfernt Kommentare und Leerzeichen aus einer Javascript-Datei. Die Javascript-Datei wird zeilenweise verarbeitet.
Die Hilfsfunktion reduce_code entfernt aus einer Javascript-Code-Zeichenkette unnötige Leerzeichen:
=.,;:?!|&<>(){}[]/ umgeben, werden entfernt.+- und einem anderen Zeichen als +- werden entfernt.Aus jeder Zeile werden zunächst alle Zeichen von der Zeichenfolge // an entfernt. Die weitere Verarbeitung unterscheidet sich danach, ob die Zeile ein Anführungszeichen enthält oder nicht. Wenn die Zeile kein Anführungszeichen enthält, wird sie durch die Hilfsfunktion reduce_code verkürzt. Wenn die Zeile ein Anführungszeichen enthält, werden die Teilzeichenketten vor dem ersten und nach dem letzten Anführungszeichen durch die Hilfsfunktion reduce_code verkürzt.
Wenn die gekürzte Zeile leer ist, wird die Verarbeitung mit der nächsten Zeile fortgesetzt. Andernfalls wird die gekürzte Zeile ausgegeben, aber noch nicht das Zeilenende-Zeichen. Wenn die aktuelle Ausgabezeile mehr als 60 Zeichen enhält oder die gekürzte Eingabezeile mit einer schließenden geschweiften Klammer endet, wird ein Zeilenende-Zeichen ausgegeben. Wenn andernfalls die gekürzte Eingabezeile nicht mit einem der Zeichen []<>(){,:;!? endet, wird ein Leerzeichen ausgegeben.
Die letzte Ausgabezeile wird mit einem Zeilenende-Zeichen abgeschlossen.
Das Skript setzt voraus, daß Perl verfügbar ist. Es wird eine Version ab 5.10 angenommen.
Die Befehlszeilen-Argumente werden mit Hilfe des Moduls Herbaer::Readargs gelesen.
Das Programm ignoriert Zeichenketten-Konstanten. Auch wenn "//" innerhalb einer Zeichenketten-Konstanten steht, werden die Schrägstriche und alle folgenden Zeichen entfernt.
Auch innerhalb von Zeichenketten werden aufeinander folgende Leerzeichen durch einzelne Leerzeichen ersetzt.
Eine existierende Datei unter dem Pfad OUT (s. --out) wird ohne Warnung überschrieben.
Die Vorgaben der Optionen können nicht durch eine Konfigurationsdatei geändert werden.