I'm starting to get this... A couple more questions:
1. What is a sigil? 2. I like to make little reference pages for myself, do these terms look right? # pointers are scalars # GETTING POINTERS \$mystring; # returns a pointer to mystring \@myarray; # returns a pointer to myarray \%myhash; # returns a pointer to myhash # FOLLOWING POINTERS ${ $pointer }; # returns string pointed to by $pointer # $pointer can be replaced with anything # that returns a pointer as a scalar @{ $pointer }[0]; # returns first element (element zero) # of the array pointed to by $pointer $pointer->[0]; # (same) %{ $pointer }{$somekey}; # returns hash value of hash pointed # to by $pointer, key $somekey # CREATING STRUCTURES [ @myarray $mystring ]; # returns a pointer to a new copy of # a new array containing @myarray with # $mystring at the end (For those who are beginners like me, don't assume these are right until a smart person says so. =) TIA. - Bryan __________________ On Jun 6, Nikola Janceski said: >$$onediminsional_hash_ref{$key} >@$onediminsional_array_ref[$index] The leading sigil denotes the amount of stuff being returned, NOT the data structure being worked with! It is the {} and [] that determine the data structure. @ARRAY = (1 .. 10); $x = \@ARRAY; %HASH = (a => 'b', c => 'd'); $y = \%HASH; print $x->[1]; # 2 print $$x[1]; # also 2 print @$x[1]; # ALSO 2 (the list (2)) print $x->[1,4]; # 5 print $$x[1,4]; # still 5 print @$x[1,4]; # 25 (the list (2,5)) Why is $$x[1,4] '5' instead of ('2','5')? Because the leading $ demands scalar context inside the subscript, so scalar(1,4) => 4, and $$x[4] is 5. Likewise with hashes. print $y->{a}; # 'b' print $$y{a}; # 'b' print @$y{a}; # 'b' print $y->{'a','c'}; # 'd' print $$y{'a','c'}; # 'd' print @$y{'a','c'}; # 'bd' Notice, if you will, that while print @ARRAY[1]; yields a "@ARRAY[1] better written as $ARRAY[1]" warning, print @$x_ref[1]; does not. -- Jeff "japhy" Pinyan [EMAIL PROTECTED] http://www.pobox.com/~japhy/ RPI Acacia brother #734 http://www.perlmonks.org/ http://www.cpan.org/ ** Look for "Regular Expressions in Perl" published by Manning, in 2002 ** <stu> what does y/// stand for? <tenderpuss> why, yansliterate of course. [ I'm looking for programming work. If you like my work, let me know. ] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]