Sure, it works, and has no ill effects, but as a matter of style, it's just bad.
That's just a matter of opinion. A piece of opinion that doesn't come with a rational. Knowing you find the style bad is interesting for census takers, programmers will find it more interesting why you find it bad style.
I rank using the trinary in void context on the same level as using 'or' or 'and' in void context:
/^#/ and next;
open ... or die ...;
-d $_ ? handle_directory($_) : handle_file($_);
and those are almost on the same level as using statement modifiers:
next if /^#/;
die ... unless open ...;
parse_file($_) for @files;
Either they are all bad, or none of them are. And for me, none of them are.