Jak vám všichni řekli na vaše poslední otázka , inicializujte pole pomocí závorek, nikoli vnořených závorek.
@some_array= ([sam, jon, july],[Mike, Han,Tommy],[angie, sita, lanny])
ne
@some_array= [[sam, jon, july],[Mike, Han,Tommy],[angie, sita, lanny]]
Také by vám ohromně prospělo zahrnutí
use strict;
use warnings;
v horní části všech vašich programů. To by zachytilo podivný způsob, jakým se snažíte inicializovat @some_array a zachytilo by to vaše nekonzistentní použití @sql a @query . aktualizovat a $sdh a $db a $dbh .