chapter 12 abs

There's a lot going on in here, probably too much to comment on with respect with this week's lesson. Nice work doing it, but it may have been quicker to use an existing CPAN module.