in reply to Resizing an image with perl.

Nitpick: You're misusing the term "order of magnitude". An order of magnitude is a 10x difference, two orders of magnitude is a 100x difference, and so on. To perform as advertised, your map should really look something like this:
  map {$_ * 10**$order_of_magnitude} @size;

But I suspect that's not what you intended, and the term you meant to use was something like "factor".