Nice, but I think you could eliminate lines 4 and 5 also, if you keep the corresponding ::Iterator subclass in the same file, and I do not see any log4perl calls here.
And the convention for the final true value is a simple 1;, with no need for the return keyword.
And you are very welcome. There are still some rough edges (as I mentioned in the other reply) and I will say to make sure to write good tests. I have found Devel::Cover useful in my own work, but be careful that you do not end up "testing to the implementation".