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.


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
If I understand your problem, I can solve it! Of course, the same can be said for you.