Parrot, for anyone who doesn't know already, is a "virtual machine"--a program that's used to run other programs. In this case, it's a VM that will eventually run all Perl programs. It's taken two and a half years to write so far (first release was September 10, 2001), and it's getting fairly close to completion. (Of course, Perl 6 isn't even completely designed yet, let alone implemented...)
My current little project goes something like this: Parrot (like most Unix programs) has an install script called Configure that examines your system and works out various technical details about it. In current versions of Perl, Configure writes a module called Config that records all the characteristics Configure detected; this module can be used by any program that needs the information. Currently, Parrot doesn't have an equivalent; I'm working on adding one.
Right now, it's blocked on a feature called "serialization"--essentially, how to write a complicated data structure (like Configure's table of names and settings) to disk. Parrot has had serialization implemented for a couple months, but it's either incomplete or buggy, and I'm not sure which it is. In the meantime, I'm pretty much paralyzed.
Maybe I'll delve into the C source and figure it out myself...