in reply to I thought I found a good reason to use backticks in a void context, but I was wrong.

How about temporarily closing STDOUT? This way you can avoid having to redirect to /dev/null, and more importantly, you now no longer need shell meta characters (which in turn avoids spawning a shell for system())

Something like this:

open ORIGOUT, ">&STDOUT"; close STDOUT; my $ok = ! system qw"ping -q -w 1 -c 1", $host; open STDOUT, ">&ORIGOUT"; print $ok ? "OK\n" : "Failed\n";