Most tar commands also unzip files (and can create them): for unzipping, tar xvzf yourfile.gz will probably work on Linux and a lot of other Unix systems without going near Perl.
Its a bit dirty, but if you are doing it in a Perl script, you can do that as a system command enclosed in backticks. However the other methods suggested are much more preferable if you are doing this within Perl.
Update - ignore this reply. I should have read the question more carefully.. :-(

A Monk aims to give answers to those who have none, and to learn from those who know more.