The Perl 5 module Locale::PO provides methods for manipulating objects that represent entries in a gettext po-file (untranslated and translated strings, with associated comments). It can load and save complete po-files.