in reply to hiding perl-wrapped command output

This isn't exactly "hiding" STDOUT, but you can send STDOUT to a scalar, which would also allow you to check to see if the output of your system command is what you expected, from within the script.
my $holder; sub command { open local(*STDOUT), '>', \$holder; your_system_command; }