while ( $res = $sock->getline ) { my $ok = $self->_cmd_ok($res); if ( $ok == 1 ) { return $args{final}->($res); } elsif ( defined($ok) && ! $ok ) { return; } else { $args{process}->($res); } }