Wie soll ich den Skalarbereichsoperator von Perl verwenden?

8

Was ist der Skalar ".." Operator typische Verwendung? Sollen nur Textblöcke ausgewählt werden?

Interessantes Beispiel für mich selbst:

%Vor%     
Eugene Yarmash 27.01.2010, 12:21
quelle

4 Antworten

3

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 ( $. )

%Vor%

was auf das seltsam aussehende

hindeutet %Vor%

Die Ausgabe des obigen Programms ist

%Vor%

Wenn Sie eine Belichtungsreihenbedingung haben, testen Sie in Subs:

%Vor%     
Greg Bacon 27.01.2010, 14:29
quelle
2

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.

    
Evan Carroll 27.01.2010 18:43
quelle
2

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 .

%Vor%     
daotoad 27.01.2010 23:47
quelle
0

Eine andere Verwendung ist einfache Zähler wie folgt: perl -e 'foreach ( 1 .. 100 ){print"$_\n"}'

    
ericslaw 27.01.2010 13:23
quelle

Tags und Links