system() doesn't gather the output of the executed program, it just returns the exit status. With backticks, you can collect the output. You could also open a pipe from a command:
open(PIPE, "command |") or die $!;
while(<PIPE>) {
# ... do something
}