Always post all *relevant* code. If the code is too long, use readmore-tags. In this case the align subroutine is the one that alters your hashes, as it seems, and thus relevant. And no. I will not follow the link to get it.
This mainly because of my laziness, but also for the sake of node completeness. What if the url is dead in some time? Nothing is as old as the url from yesterday.