I get this (perl v5.26.2):
s/iter interp Eily OFS
interp 2.98 -- -5% -7%
Eily 2.83 5% -- -2%
OFS 2.77 8% 2% --
my @big = (rand () x $size);
What do you expect @big to contain after this though? It looks like you wanted to make an array of random numbers. But rand is only called once so you just have one repeated value. Also x is tricky (I'd even say un-perl-like) because it depends on the operands in a way that no other operator in perl does. So the first thing I did was check how many elements are in @big: 1, with 50 000 000 copies of the random value. This means that you are just writing one item and neither the for loop nor the use of $, have much of an effect (if at all) here. So finding a significant difference between Eily and OFS would have been worrying.