Question: I sometimes see Perl code like this:

```
my ( $variable ) = blah....

```

What is the point of putting parentheses around a single variable? I thought parentheses were only used when declaring multiple variables, like:

```
my ( $var1, $var2, $var3 ) = blah...

```

Answer: 
There are several scenarios when there is a difference:

1. When **array** is on right side

```
my @array = ('a', 'b', 'c');
my  $variable  = @array;           #  3   size of @array
my ($variable) = @array;           # 'a'  $array[0]

```
2. When **list** is on right side

```
my  $variable  = qw/ a b c d /;    # 'd'  last  item of the list
my ($variable) = qw/ a b c d /;    # 'a'  first item of the list

```
3. Subroutine with variable (**array/scalar**) return value

```
sub myFunction {
  ...
  return (wantarray() ? @array : $scalar);
}
my  $variable  = myFunction(...);  # $scalar   from the subroutine
my ($variable) = myFunction(...);  # $array[0] from the subroutine

```
I'm not a Perl pro (by all means, I'm not), but AFAIK it has to do with lists.
Perl has different contexts (scalar, list). Using `($var)` switches to list context, `$var` is scalar context.

```
my $var = (1, 2, 4);   # $var = 4 (last element)
my ($var) = (1, 2, 4); # $var = 1

```