$\ = $/; sub add{ my ($i, $j, $add) = @_; $_{value}[$i][$j] += $add; } while(){ $tc ++; print "[$tc]"; ($n, $m) = split; for $i (1 .. $n){ $_ = , chomp; for $j (1 .. $m){ $_{value}[$i][$j] = substr $_, $j - 1, 1; } } &add(2, 3, 5); for $i (1 .. $n){ print join " ", @{ $_{value}[$i] }; } } __DATA__ 3 3 011 111 111 6 7 1101011 0111111 1111101 1111111 1111110 0111111 #### [1] 0 1 1 1 1 6 1 1 1 [2] 1 1 0 1 0 1 1 0 1 6 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 #### [1] 0 1 1 1 1 1 1 1 1 [2] 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 #### $\ = $/; sub add{ my ($i, $j, $add) = @_; $_[$tc]{value}[$i][$j] += $add; } while(){ $tc ++; print "[$tc]"; ($n, $m) = split; for $i (1 .. $n){ $_ = , chomp; for $j (1 .. $m){ $_[$tc]{value}[$i][$j] = substr $_, $j - 1, 1; } } &add(2, 3, 5); for $i (1 .. $n){ print join " ", @{ $_[$tc]{value}[$i] }; } } __DATA__ 3 3 011 111 111 6 7 1101011 0111111 1111101 1111111 1111110 0111111