I have to develop an application to parse a Microsoft project file(.mpp) and write into too under unix.
As far as I know, an .mpp file is an OLE container. There's work in the Java world to provide classes to read OLE containers directly. I don't know about writing them, and I don't know if anyone in the Perl world is translating that work. In other words, you've just been handed a very nasty research project. Were I you, I would push back on this one very hard. Reading/writing a .mpp is best done on Win32, using the official COM API.