sub mmult(@a,@b) { my @p; for ^@a X ^@b[0] -> ($r, $c) { @p[$r][$c] += @a[$r][$_] * @b[$_][$c] for ^@b; } @p; } my @a = [1, 1, 1, 1], [2, 4, 8, 16], [3, 9, 27, 81], [4, 16, 64, 256]; my @b = [ 4 , -3 , 4/3, -1/4 ], [-13/3, 19/4, -7/3, 11/24], [ 3/2, -2 , 7/6, -1/4 ], [ -1/6, 1/4, -1/6, 1/24]; .say for mmult(@a,@b);