What is the Difference between @array[1] and $array[1]

Asked By 0 points N/A Posted on -

Can anyone please tell me the difference between @array[1] and $array[1].

I need help to make an array of arrays and recursive data types.

Is it possible to make an array of structures which contains various data types?

Thanks so much for the help.

Answered By 30 points N/A #113982

What is the Difference between @array[1] and $array[1]


Howdy Phoebe,

The former is a scalar value, the latter an array slice, which makes it a list with one (scalar) value. You should use $ when you want a scalar value (most of the time) and @ when you want a list with one scalar value in it (very, very rarely; nearly never, in fact).

Sometimes it doesn't make a difference, but sometimes it does. For example, compare:

$good[0] = `some program that outputs several lines`;  with

@bad[0] = `same program that outputs several lines`;

The -w flag will warn you about these matters.

I hope it helps,


Login/Register to Answer

Related Questions