WWW::MapBlast sounds like a good starting point.
This module will give you the latitude and longitude of a
given zip code. Next step would be to use a module like
GD to apply the zip codes. I would try some kind
of World to Viewport algorithm to do so. It has been a long
time since i did any graphics programming, last time was in
Java. You can find my explanation on World to Viewport
here
(which is paraphrased from the book
Computer Graphics).
Remember also that jcwren has already done
this something very similar at the
Big
Monk Map.
jeffa
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)