Thread Was bedeutet ~~
(14 answers)
Opened by tseug at 2009-05-09 11:39 Guest Spieler "~~" wird tatsächlich oft von Programmierern benutzt, die zu faul sind, scalar() zu schreiben ;) Genau gesagt erzwingt es noch mehr als einen skalaren Kontext, nämlich einen String-Kontext oder einen Ganzzahl-Kontext. D.h. das Argument wird in einen String oder in eine Ganzahl umgewandelt, falls es noch keins von den beiden ist. Die bitweisen Operatoren in Perl arbeiten entweder auf Strings oder auf Ganzzahlen und verhalten sich hier oft subtil unterschiedlich, was gelegentlich für Verwirrung sorgt. Code: (dl
)
1 % perl -lwe 'print ~~4' Daher würde ich davon abraten, dass jetzt alle Leute nur noch ~~ statt scalar() benutzen, um leet zu sein. Edit: Bei Perl-Golf bietet es sich auch manchmal an, stattdessen $x^0 oder $x|0 zu schreiben ("xor" oder "or" mit 0). So funktioniert es aber nur noch mit Ganzzahlen, und nicht mehr mit Strings. Last edited: 2009-05-09 15:07:20 +0200 (CEST) Lieblingsmodule: IPC::System::Simple, Path::Class
|