in reply to Re: An obscure side effect?
in thread An obscure side effect?
Thanks. I think the difference is, as Abigail-II noted above, Win32 display drivers tend to represent the null (chr(0)) with a blank glyph on the screen whereas some (all?) *nix DDs 'display' a zero width glyph.
P:\test>perl -l sub swab{ substr($_[0],$_[1],1)^=substr($_[0],$_[2],1)^=substr($_[0],$ +_[1],1)^=substr($_[0],$_[2],1); } $s='AB'; swab($s,0,1), print "'$s' : ", sprintf "%02x "x2, unpack 'C*',$s for 1 +..10; ^Z 'BA' : 42 41 ' B' : 00 42 ' ' : 00 00 ' ' : 00 00 ' ' : 00 00 ' ' : 00 00 ' ' : 00 00 ' ' : 00 00 ' ' : 00 00 ' ' : 00 00
As you can see, although they show up as blank glyphs and therefore look like spaces, they are actually nulls.
I think if you try this on your machine, you'll see that the contents of $s at each stage is the same, it's just the way the nulls get displayed that is different.
|
|---|