It is a sad (or joyous?) fact that namespaces aren't related but by convention. Your module under the Archive:: Namespace doesn't have to follow the conventions of the other modules under this namespace. If that were so, a transparent Archive.pm would be in sight. Then, your Module says WARC - Web ARChive support for Perl so it is definitely an Archive type of module.
No.
can't answer yet.
You might do that, and my guess is that it is not asking for trouble, since overload occurs just in that package. But I remember having trouble with overloading and subclassing.
No, at first glance. What benefit does overloading provide you over calling a function with arguments? Overloading is useful to extend something (Math::BigInt) but has its overloading price.
You should probably leave that to code using the module. Methods qw(next previous) and done. Also...