Leser: 35
perl -le "print ~~localtime(1046880000)"
2009-05-09T10:00:49 GwenDragonDas ~ ist ein Operator für bitbezogene (komme gerade nicht auf korrekten Ausdruck) Negation.
2009-05-09T10:55:24 LanX-dazu müsste man auch wissen mit wievielen Bitstellen ~ arbeitet.
2009-05-09T10:55:24 LanX-Doppelte Negation mit !!$var ist ein gängiges Idiom um auf Perls "boolesche Werte" zu normieren. AFAIR ist $var wahr ergibts 1, unwahr den Leerstring.
Doppelte Invertierung macht jetzt nur Sinn, wenn es andere Repräsentationen für 0 und 1 gäbe ...!?!
2009-05-09T12:39:38 betterworld(Du wolltest wohl genau dasselbe sagen.)
2009-05-09T12:39:58 LinuxerKann, glaube ich, auch bei {} verwendet werden (z.B. beim Einsatz von map; Block vs. anonymous hash reference); da habe ich aber grad kein Beispiel zur Hand.
1
2
3
4
5
6
7
8
% perl -lwe 'print for map {1, $_} 3..4'
syntax error at -e line 1, near "} 3"
Execution of -e aborted due to compilation errors.
% perl -lwe 'print for map {+1, $_} 3..4'
1
3
1
4
Guest SpielerDie ~~ erzeugen hier einen scalaren Kontext.
Christoph
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
% perl -lwe 'print ~~4'
4
# Fließkommazahlen gehen kaputt
% perl -lwe 'print ~~4.5'
4
% perl -lwe 'print ~~ "4.5"'
4.5
# Referenzen gehen kaputt
% perl -MData::Dumper -we 'print Dumper(~~{})'
$VAR1 = 'HASH(0x9827180)';
# Spaß mit Dualvars
% perl -lwe '$! = 1; print $!; print ~~$!'
Operation not permitted
1
1
2
3
4
C:\Users\neniro>perl -e "printf '%#b', ~1"
0b1111111111111111111111111111111111111111111111111111111111111110
C:\Users\neniro>perl -e "printf '%#b', ~~1"
0b1
2009-05-09T12:55:13 lichtkindab 5.10 ist es auch wie in perl 6 der smartmatch