As long as your result is not rendered incorrect, you will find Perl will not hesitate to run your code. Whether code reviewers would tolerate is entirely another matter. Whether you are having the effect you intend is another.
Do you *know* that setting to undef is freeing those objects immediately (or even soon) (update: especially see bean's note below re: undef $x vs. $x = undef)? Or are you making assumptions about the garbage collector's behavior? Would you, at a C code review, accept inline assembly bit-fiddling tricks, or would you insist that the C operators be used to the same effect? Your answers to these questions should guide you, IMHO.