Base.pm

I'm assuming that scan_all is a boolean, and that what we really mean here is //= 1, no?  Of course for backward compatibility, it should be:

$self->{_args}{scan_all} = 1 if ! defined $self->{_args}{scan_all};

If a max size of 0 ever makes sense (to disable a max size?), we need to do the same there.... but I'm not really sure what those variables mean. Maybe scan_all will never be 0.