Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: deference and inreference operators

by davido (Cardinal)
on Sep 24, 2004 at 16:13 UTC ( [id://393569]=note: print w/replies, xml ) Need Help??


in reply to deference and inreference operators

First I'll answer the quoting question. Try the following snippet.

my $text = "Hello world\n"; my $var = 'Hello world\n'; print $text; print $var;

In the case of $text, we used " (double quotes) and thus, \n was expanded to mean a newline. In the case of $var, we used single quotes, and \n remained the literal characters \ and n.

Now try this code:

my $text = "Hello world\n"; print "$text"; print '$text';

In the case of the first print statement, the variable $text is interpolated within the string (its value is put into the string). In the case of the second print statement, $text is the literal text printed.

Now for =>. => is sometimes called the "fat comma". It's most common use is in declaring elements of a hash, as in:

my %hash = ( This => 10, That => 20 );

The fat comma also has the effect of 'single quoting' the text immediately to its left. So the above snippet is equal to:

my %hash = ( 'This' , 10, 'That' , 20 );

Now for ->. That is used for dereferencing, which is an entirely different subject, having nothing to do with the => fat comma. If $aref is a reference to an array, one of the notations you can use to dereference that ref, and grab a single element is to use the dereference operator ->, like this: $aref->[3]. That's the same as:  ${$aref}[3], and a lot less ambiguous than something like $$aref[3].

As Zaxo has stated, you should have a look at perlsyn, perlop, and perlreftut.


Dave

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2024-04-26 07:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found