in reply to preventing a system call from displaying output


why don't you use backquote ?

Something like :

my $unzip_output = `unzip -l $filename`;