Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Re: Re: Fun with duff's device and AUTOLOAD

by ambrus (Abbot)
on Feb 25, 2004 at 21:41 UTC ( #331835=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Fun with duff's device and AUTOLOAD
in thread Fun with duff's device and AUTOLOAD

Maybe I wasn't clear in the explanation.

$#="%c";print 65; should not print an A. It pushes 65.0 (a double) and "%x" on the C stack, and calls sprintf. Then sprintf sees "%c", so tries to pop an int from the stack. 65.0 is represented as the bytes (00 00 00 00 00 40 50 40)hex, but an int is just 4 bytes so it pops (00 00 00 00)hex which is 0 as an int so it prints a nul char. (On sparc, however, it will get (40 50 40 00)hex, which is 67437568, so it will either print a null character or a multibyte character sequence corresponding to unicode chr 67437568, depending on the version of Perl.)

Dlugosz, I guess your cpu is an x86, correct me if it isn't.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://331835]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (2)
As of 2017-12-15 01:15 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (415 votes). Check out past polls.