Der Operator
<> ist syntaktischer Zucker für die Funktionen
readline oder
glob.
Du kannst daher
while (my $foo = readline $obj->iterator) {
[...]
}
schreiben.
Bedenke allerdings, dass in diesem Falle
$obj->iterator in jedem Schleifendurchlauf aufgerufen wird! Genau aus diesem Grund schreibt man ja auch normalerweise keine Schleifen der Form
while (my $line = readline IO::File->new('/some/stuff', 'r')) {
[...]
}
sondern öffnet die Datei nur einmal und speichert das Handle in einer lokalen Variablen.
When C++ is your hammer, every problem looks like your thumb.