in reply to Output capturing trouble

Redirect STDERR to be the same as STDOUT:
my $output=`unzip -P $password $zipfile 2>&1`;

The return code ($?) probably indicate whether an error has occured or not.

Update: I had said $& where I meant to say $?. Fixed. Thanks shmem.