Avoid `back-ticks` unless you need to get at the output (as you do in your second example). Using back-ticks in a void context only makes perl do extra work unnecessarily. In this case, I'd use system instead.
Why can't backticks use defined(wantarray)
to find out if they where called in a void context, and
if so, do not return or capture the output? (Redirecting to /dev/null
comes to mind)