Solved

newbie needs help

Posted on 2004-04-09
2
218 Views
Last Modified: 2010-03-04
Hello experts,

I just start with perl language few days ago.  I need to know what does the & symbol means in the folowing script:

#!/usr/bin/perl
                                                                                                                             

push @array, (1,2,3)[6 & 10];
                                                                                                                             
                                                                                                                             
print @array;

------------------
result: 3

-------------------
what I know that the push function pushes the values of list onto the end of array.  ANd number in square bracets point to list index .   Can somebody give me a hint.

thanks

luxana
0
Comment
Question by:Luxana
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 8

Accepted Solution

by:
davorg earned 30 total points
ID: 10789957
& is the "bitwise and" operator. It compares the binary representation of two numbers and returns the number that has bits set only where the same bit is set in _both_ of the input numbers.

So, in your example:

6 is 0110 in binary.
10 is 1010 in binary.

They only have one bit in common, so a bitwise and opertion returns 0010. Converting that to decimal gives 2.

So 6 & 10 is 2.

Your code therefore becomes:

push @array, (1,2,3)[2];
                                                                             
print @array;

Which has the same effect as:

push @array, 3;

There is also a "bitwise or" operator which returns a set bit where either of the inputs have a set bit. 6 | 2 is 1110 (which is 14) and a "bitwise exclusive or" which returns a set bit where only on of the inputs have a set bit. 6 ^ 2 is 1100 (which is 12).

See "perldoc perlop" for more details.

Dave...
0
 
LVL 10

Author Comment

by:Luxana
ID: 10790190
Dave ,

I got it:))) You have no idea how many things I tried. Perfect so now I can move on:)))

Thanks for your help Dave

LUXANA

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I've just discovered very important differences between Windows an Unix formats in Perl,at least 5.xx.. MOST IMPORTANT: Use Unix file format while saving Your script. otherwise it will have ^M s or smth likely weird in the EOL, Then DO NOT use m…
In the distant past (last year) I hacked together a little toy that would allow a couple of Manager types to query, preview, and extract data from a number of MongoDB instances, to their tool of choice: Excel (http://dilbert.com/strips/comic/2007-08…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

732 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question