When I was trying to print a specific element in array, I have mistakenly typed the name of the same array inside [ ] as element and got some output as shown. I thought that it is taking the size of the array and printing that number of characters, which was proven to be wrong by the output. 

```
@array = (0..10, 12);

print "@array[@array]";

```

prints

```
 Use of uninitialized value in join or string at
 /home/VAR121/Program/Practise_Perl/Arrays.pl line 9.
 0 1 2 3 4 5 6 7 8 9 10

```

I went one step ahead and edited code as shown below

```
print "@array[@array[@array]]";

output as: `0 1 2 3 4 5 6 7 8 9 10 0`  Use of uninitialized value in join or string at
 /home/VAR121/Program/Practise_Perl/Arrays.pl line 9.

```

Now I tried to put a number inside the second array instead of again giving array name as below.

```
print "@array[@array[1,2,3]]";

```

output as

```
 1 2 3

```

But no warning message this time. 

What it is trying to print? and What is the reason behind this behavior.