Home: Perl Programming Help: Frequently Asked Questions:
What is the difference between $array[1] and @arra



Jasmine
Administrator

Jan 19, 2001, 3:03 PM


Views: 3369
What is the difference between $array[1] and @arra

(From the Perl FAQ)

What is the difference between $array[1] and @array[1]?

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:

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

with

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

The -w flag will warn you about these matters.