Thread Block vs. Hashref (25 answers)
Opened by barney at 2024-08-02 13:17

haj
 2024-08-02 17:06
#196614 #196614
User since
2015-01-07
551 Artikel
BenutzerIn

user image
Ja, die Unterscheidung ist manchmal ... interessant. Es gibt gar nicht so viele Möglichkeiten, eine geschweifte Klammer nach map als Hash-Referenz interpretieren zu lassen:
  • Das erste Token muss entweder einen String einleiten (also ', ", q, qq, qw) oder eine Ganzzahlkonstante ohne Vorzeichen sein und
  • der Ausdruck muss ein Komma (oder =>) enthalten.

Nur t1.pl erfüllt die beiden Bedingungen.

Mein Vorschlag, um hier Eindeutigkeit herzustellen, ist ein etwas anderer: Wenn ich in einem map die Anzahl der Listenelemente ändere, schreibe ich das Ergebis des Codeblocks in Klammern. Das funktioniert dann mit und ohne die Gänsefüßchen:
Code (perl): (dl )
1
2
map { ("$_", 'X') }
map { ($_, 'X') }

Ohne die Klammern muss ich immer zweimal hinschauen, ob nicht vielleicht doch der "Komma-Operator" gemeint ist, der das linke Ergebnis wegwirft.

View full thread Block vs. Hashref