use Data::Dumper; # everything is fine using this @taulell array #@taulell = ( ['B1','B2','B3'], ['B4','B5','Y1'] ); # here is how you set @taulell sub inicialitzacions { $torn='B'; @{$taulell[3]}[3,4]=qw(B N); @{$taulell[4]}[3,4]=qw(N B); @pos{'x','y'}=(2,2); } inicialitzacions(); # @taulell looks like this print Dumper(\@taulell); my $num=0; for(@taulell) { $num+=grep /B/,@$_; } # @taulell now looks like this print Dumper(\@taulell); addstr(2,1,"B = $num"); addstr(24,3, "Y = $pos{y}"); $num=0; map { $num+=grep /B/,@$_; } @taulell; addstr(3,1,"N = $num"); addstr(24,35,"Tecla = <$key> "); # @taulell now looks like this print Dumper(\@taulell); sub addstr {}