http://www.perlmonks.org?node_id=1033434


in reply to "Safe" print?

If you want undefined values printed as "undef", try

use 5.010; print $somevalue // "undef";

Replies are listed 'Best First'.
Re^2: "Safe" print?
by sundialsvc4 (Abbot) on May 14, 2013 at 13:45 UTC

    ... noting that the "//" operator is, IIRC, a relatively recent addition to the language.   You should have it, but you (or some backwater web-hosting companies who need not be named ...) conceivably might not.   See perldoc perlop on your system; look for the heading “C-style Logical Defined-Or.”

      See that first line in my the code? It says use 5.010;. The // operator was new in perl 5.10. It's not new anymore now.

        And that's right where I am (CENTOS 6 packaged Perl).

        I know and heartily approve the "//" operator (except when I somehow get confused and use backslashes), but don't want to have to write special code each time I print something that I can't prove is defined quickly. However, the Dumper suggestion (and related) is useful, I'm just embarrassed I didn't think of it myself (that's for complex structures! In debugging!).