Кстати, раз уж заговорили про паттерны, никто не натыкался на какую-нибудь репку с реализацией всех популярных паттернов на чистом perl без всякого сахара в виде Moo?
Собственно, большинство паттернов придумано, для того что бы побороть специфические ограничения тогдашней Java (отсутствие параметрического полиморфизма, например).
Такое разделение на get_next и next в Java нужно, т.к. типы Boolean и тип значения явно отличаются. А вот в Perl для подобного обычно используется undef...