in reply to data types

As a sidenote, be aware that there is a difference between the following two cases:
my @array = ('hello', 'blah', 'bye'); my($scalar1) = @array; # $scalar1 eq 'hello' my $scalar2 = @array; # $scalar2 == 3 print join ' ', $scalar1, $scalar2;

The first works like a list assignment (list context) ($name, $last) = ($last, $name); assigning the first element of the array to $scalar1.

The second puts @array into scalar context which returns the length of the array into $scalar2.

-- Hofmator