To get really advanced, you may find you need a real geographic information system like ArcView. However, you might try some simple things to get started. Many common geographical shapes (such as state and county boundaries) are publicly available as shapefiles. The module Geo::ShapeFile will enable you to read them and extract the polygon information, which you could plot with Perl/Tk, for example.