Tal como todos te dijeron en el última pregunta que hiciste , inicialice su matriz con paréntesis, no con corchetes anidados.
@some_array= ([sam, jon, july],[Mike, Han,Tommy],[angie, sita, lanny])
no
@some_array= [[sam, jon, july],[Mike, Han,Tommy],[angie, sita, lanny]]
También se beneficiaría enormemente de incluir
use strict;
use warnings;
en la parte superior de todos sus programas. Eso captaría la extraña forma en que intenta inicializar @some_array
, y detectaría su uso inconsistente de @sql
y @query
. actualizar y $sdh
y $db
y $dbh
.