それじゃ俺も質問をしてみる。
前から不思議に思ってたけど支障なかったから放置してた疑問

#!/usr/bin/perl
use strict;
use warnings;

my $test;
$test = 40;
@$test = (10, 20, 30);

print $_."\n" for (@$test);
print $test."\n";
exit;

これ、use use strict があったら警告だしてくれるけど外すと、
10〜40まで表示される・・・
@$test = (10, 20, 30) の後に$testに何か代入すると壊れるけど。
これずっと不思議