I'm trying out Locale::Maketext::Lexicon 0.75 right now, and apparently it has a much worse behaviour than you describe here, regarding var comments: read_po() simply drops them! So if you read in a .po file with read_po() and immediately save it again with write_po(), they're gone! Which is not very nice...
in reply to RFC for users of Locale::Maketext::Lexicon
BTW why is there nothing in the whole suite foreseen to manually add single lexicon entry? To fill in the translation for a phrase by a Perl script? As it is now, it makes a lot more sense to manually construct the output to write a .po file, than to try to use this module, which kind of defeats its purpose, IMHO... The only thing it's useful for, impressive though it may be, is to parse file and generate stub files, with just the original text without translations. So you can only use it for the big stuff, but not for the little things.