It's a C idiom. Some people prefer `for(;;)` over `while(1)` to create infinite loops.
EDIT: Oh, that's in the Perl (5) code. Nevermind then.
In C-like it kind of makes sense – it's 1 character shorter, and on some ancient crappy compilers it may actually run faster than while(1) since it doesn't have to check the condition every time ;)