Depending on your use case, Perl has a special string, '0 but true'
, which is evaluated to 0 in numeric context, but as true in Boolean context. This is sometimes useful for returning a zero but true value from a function to the caller. See for example https://riptutorial.com/perl/topic/649/true-and-false
. The only thing special about that string is that it will issue no warning in numeric context; otherwise it is true, as any string other than the string containing only 0 ('0'
) and the empty string (''
). Another possibility in the same context is to return a string such as '0e0'
Another possibility is sometimes to return a reference to the variable containing the "0" string.