You have a scope issue. You can see this if you change your array declaration from my @binarysearcharray=...
to our @binarysearcharray=...
. The eval
for the benchmark occurs in Benchmark
package, and variables declared with my
are not visible outside your current scope, in contrast to our
. For a little more description of scope, see Private Variables via my()
Please note that if you include output in a benchmarking run, the i/o is likely to invalidate your conclusions.
#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.