Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: oct and vec

by Zaxo (Archbishop)
on Aug 07, 2007 at 08:50 UTC ( #630977=note: print w/ replies, xml ) Need Help??


in reply to oct and vec

The first argument of vec says what variable it acts on. The third says how many bits make a unit in the vector. The second is the offset in units of the third argument where things will happen.

ord applied to a string returns ord of its first character.

Thus, vec($foo,0,8) = ord($foo); is a no-op, replacing the first character of $foo by itself. In more depth:

$ perl -e'my $foo = "qa"; vec($foo,0,8) = ord $foo;print $foo,$/'
qa
$ perl -e'my $foo = "qa"; vec($foo,1,8) = ord $foo;print $foo,$/'
qq
$ perl -e'my $foo = "qa"; vec($foo,2,8) = ord $foo;print $foo,$/'
qaq
Further increments of the second argument would place NUL in the intermediate positions of the string.

Update: I just noticed that the op is ==, numerical equality. I think that should always be true, but there might be tricky edge cases related to encoding.

After Compline,
Zaxo


Comment on Re: oct and vec

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://630977]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (6)
As of 2015-07-28 03:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (252 votes), past polls