Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Understandig on Creating Empty array reference

by jesuashok (Curate)
on Dec 16, 2005 at 09:17 UTC ( #517176=perlquestion: print w/replies, xml ) Need Help??

jesuashok has asked for the wisdom of the Perl Monks concerning the following question:

Hi All monks

I have a doubt in creating a empty array reference.

#!/usr/local/bin/perl + @d = ( 1,2); $array = \@d; $array = \(); $$array[0] = 1; + print "Value :", $$array[0] , "\n";
In the above code

If I comment "$array = \@d;" then If I run the code I am getting an error like

<bold>Not an ARRAY reference</bold>

Can't I create Empty array reference.

Or am I am making any mistake in understanding the array reference

Please adive me on the same.

Thank you all

"Keep pouring your ideas"

Replies are listed 'Best First'.
Re: Understandig on Creating Empty array reference
by Corion (Patriarch) on Dec 16, 2005 at 09:21 UTC

    \() does not create an array reference. See perldoc perlop on the \ operator to see what it does.

    What you want is:

    $array = []

Re: Understandig on Creating Empty array reference
by davido (Cardinal) on Dec 16, 2005 at 09:23 UTC

    A doubt would be tendancy toward disbelief. What you have is a question.

    $array = \(); doesn't create a reference to an empty array. You probably want $array = [];

    \() creates individual references to each entity inside of the (). Since there is no entity inside of your (), no reference is created. [] is the anonymous array constructor. That's what you're looking for.


Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://517176]
Approved by BrowserUk
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (1)
As of 2022-01-28 03:17 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (72 votes). Check out past polls.