GeneNomenclatureUtils is a project mainly written in Perl, it's free.
Command-line utilities for using MGI, Entrez, HGNC, PubMed, and OMIM files.
Take a look in GeneNomenclatureUtils/docs