in reply to Re^2: looping through array
in thread looping through array

I dont understand second output. When print command is used with array name in quotes, output has a space between elements. where does this space come from ?

The Perl print built-in prints a list with the $, special variable interpolated between each item.

Double-quoted strings (which have nothing directly to do with print) interpolate arrays with the $" special variable interpolated between each array element. See the documentation in perlvar for the default values of the  $, and  $" special variables.

In the third output, everything in single quotes is printed as literal. Does it mean that anything in single quotes is treated as literal and will be printed as is.

Yes. Whether printed or not, there is no interpolation in single-quoted strings. The  \ (backslash) character has limited effect as an escape under conditions explained in the docs on single-quoted strings linked by other respondents.

Anything in double quotes will be treated as string value with variables getting its values from the code ?

Yes and no. Double-quoted strings interpolate scalar and array variables as per the docs.

>perl -wMstrict -le "my @array = ('one', qw(two three), qq{four}); print @array; $, = 'FOO'; print @array; print qq{@array}; $\" = 'BAR'; print qq{@array}; " onetwothreefour oneFOOtwoFOOthreeFOOfour one two three four oneBARtwoBARthreeBARfour