in reply to Re: while () vs. while (1)
in thread while () vs. while (1)

Seeing how it is not documented

You could even say it's documented to behave differently than it does. Empty lists* evaluate to false, but while () {} loops endlessly.

$ perl -E'while (()) { say("foo"); last }' $ perl -E'say("foo"), last while ();' $ perl -E'while () { say("foo"); last }' foo

Intentionally or otherwise, it's definitely related to for (;;).

* — Parens don't create lists. Parens are sometimes required to indicate the presence of an empty list (e.g. "my $x = ;" and "= f();" are invalid), but not always (e.g. "print;" and "for () {}" are valid).