I am confused. Why are you using a Schwartzian Transform?
Your first map puts $_
as the first element
of the anon array, it's the first element that's being
used in the sort, and that's also that remains after the
last map. So, effectively, you are splitting, and then
just discarding the results.
As for the memory usage, you should realize that during the
sort, you have 759 * 42 scalars, and an additional 759 arrays.
Each scalar has some overhead (a couple of dozens of bytes),
arrays have even more. It doesn't look much, but since you
have to multiply, it does add up. It might easily take 1.5 Mb.
And then there's the perl binary itself. I don't know how
much it takes on your server, but it can easily consume a
few Mb itself (this varies from system to system).