Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

string, or integer?

by Ryszard (Priest)
on May 10, 2004 at 14:57 UTC ( #352089=perlquestion: print w/ replies, xml ) Need Help??
Ryszard has asked for the wisdom of the Perl Monks concerning the following question:

Its the end of a very long day, and i'm a bit stuck.

I need to send two bytes to a daemon to let it know the message length, the bytes have to bytes and not an ascii representation of bytes.

For example, I want 00001001, not 00111001.

unpack("B*", int(length($msg)/256)) yeilds the latter, not the former, how do I force the case?


Comment on string, or integer?
Download Code
Re: string, or integer?
by halley (Prior) on May 10, 2004 at 15:02 UTC
    You should have guessed that pack() is the opposite of unpack(). From perldoc -f pack:
      The resulting string is the concatenation of the converted values. Typically, each converted value looks like its machine-level representation.
    my $bytes = pack("n", 9); # network byte order for 0x0009

    [ e d @ h a l l e y . c c ]

Re: string, or integer?
by dave_the_m (Parson) on May 10, 2004 at 15:05 UTC
    pack 'n', length($msg)
    (Replace n with N or S or whatever depending on what order (if any) you need the two bytes in

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://352089]
Approved by Corion
Front-paged by been42
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (11)
As of 2015-06-02 08:24 GMT
Find Nodes?
    Voting Booth?

    What kind of chocolate gives you the most pleasure?

    Results (78 votes), past polls