Nur Leerraum wird neu geschrieben: Sigile, Kommentare, Regexe, Heredocs und POD kommen genau so zurück, wie sie geschrieben wurden. Ein Layout-Formatierer, nicht Perl::Tidy — Syntax wird weder geprüft noch repariert.
Läuft lokal in deinem BrowserFügen Sie ein Perl-Snippet ein und das Werkzeug liefert dasselbe Programm mit einheitlicher Einrückung, einer Anweisung pro Zeile, gewähltem Klammerstil und optionalem Zeilenumbruch zurück. Nur der Leerraum zwischen Tokens wird neu geschrieben: Sigile, Kommentare, reguläre Ausdrücke, Heredocs, POD und Indizes werden Byte für Byte übernommen — das Ergebnis ist dasselbe Perl-Programm, nur lesbarer.
Der Formatierer läuft vollständig in diesem Browser-Tab, der Code wird nie hochgeladen. Er ist ein Layout-Formatierer, weder Perl::Tidy noch ein Syntaxprüfer: Er kompiliert, validiert und repariert nichts — eine kaputte Datei kommt kaputt zurück, nur einheitlich gesetzt.
Formatieren ist ein Neuschreiben von Leerraum. Die Token-Folge der Ausgabe ist identisch mit der Eingabe, und das schützt die Teile von Perl, die leicht kaputtgehen: die Sigile $, @ und %, Kommentare von # bis Zeilenende, reguläre Ausdrücke wie /^Error: (\d+)/ und Ersetzungen wie s/#/\#/g, die Operatoren =~ und !~, ->-Dereferenzierungsketten, Hash- und Array-Indizes wie $h{a} und $list[0], Quote-Operatoren (q, qq, qw, qx, qr, m, s, tr, y), Heredocs samt Inhalt, POD-Blöcke und __END__/__DATA__-Abschnitte.
Da jedes Token wörtlich übernommen wird, kann nichts still umgeschrieben werden: String-Inhalte, Regex-Muster und Kommentare kommen genau so zurück, wie sie geschrieben wurden. Eine schnelle Prüfung: Der formatierte Code enthält dieselben Zeichen wie die Eingabe, nur anders mit Leerraum verteilt.
Die Einrückung gilt für Blöcke in geschweiften Klammern; wählen Sie Tabulator oder 2, 3, 4 oder 8 Leerzeichen. Leerzeilen werden auf das gewählte Maß begrenzt — von ganz entfernen bis alle behalten. Der Klammerstil legt fest, wo die öffnende Klammer steht: in derselben Zeile wie sub, if, while und Verwandte (der übliche Perl-Stil, K&R), in einer eigenen Zeile (Allman), oder in derselben Zeile, wobei else und elsif nach der schließenden Klammer in eine neue Zeile wandern.
Umbrüche zerschneiden nie ein Token: Überschreitet eine Zeile die gewählte Länge, wird nach Kommas umbrochen und die Fortsetzung genau eine Ebene tiefer eingerückt. Einzeilige map-, grep- und sort-Blöcke, die passen, bleiben einzeilig; alles andere wird auf eigene Zeilen gesetzt.
Der Formatierer führt kein perl -c aus: Er prüft keine Syntax, löst keine Module auf, wertet keine BEGIN-Blöcke aus und meldet keine Fehler. Hat die Eingabe ein unbalanciertes Anführungszeichen, ein fehlendes Semikolon oder eine überschüssige Klammer, behält die Ausgabe das Problem — Code reparieren ist Aufgabe eines Linters oder des Interpreters, nicht eines Layout-Durchlaufs.
Er strukturiert das Programm auch nicht um. Anweisungen werden nicht sortiert, Ausdrücke nicht umgeschrieben, und der Formatierer hat keine Meinung dazu, welches von zwei gleichwertigen Idiomen besser ist. Behalten Sie eine Kopie des Originals und vergleichen Sie das Ergebnis wie bei jeder formatierten Datei.