Was ist der Skalar ".." Operator typische Verwendung? Sollen nur Textblöcke ausgewählt werden?
Interessantes Beispiel für mich selbst:
%Vor%Die Leute scheinen es aufgrund der Fragen hier kaum zu wissen, aber, ja, ich würde sagen, die typische Verwendung ist die Auswahl von Textblöcken, entweder mit
%Vor%oder
%Vor% Letzteres ist syntaktischer Zucker zur Überprüfung gegen die eingegebene Zeilennummer ( $.
)
was auf das seltsam aussehende
hindeutet %Vor%Die Ausgabe des obigen Programms ist
%Vor%Wenn Sie eine Belichtungsreihenbedingung haben, testen Sie in Subs:
%Vor% Außerhalb von perl -e
solltest du das wirklich nicht tun. Es ist esoterisch und funky. Siehe meinen Beitrag nicht einmal 24 Stunden zuvor darüber wie es den Zustand mit Aufrufkontext beibehält . Das hat mich in einer echten Weltanwendung gestochen, weil ich versucht habe, clever zu sein und gefunden zu haben, was ich für einen guten Anwendungsfall hielt.
Hier ist ein Platz, an dem Sie sehr vorsichtig sein müssen, wenn Sie den Skalarbereichsoperator nicht verwenden wollen: Subroutine kehrt zurück .
%Vor%Wenn Sie diese Subroutine im skalaren Kontext aufrufen, werden Sie überrascht sein.
Nachdem ich von einer Variante dieses Problems gebissen wurde, stelle ich jetzt immer sicher, dass ich eine Listenrückgabe einem Array zuweise, wodurch Array-ähnliche Kontextverhalten für meine Subs erhalten werden. Wenn ich ein anderes kontextspezifisches Verhalten brauche (sehr selten), verwende ich wantarray
.