NAME
App::dupfind::Guts - Private methods supporting the App::dupfind::Common public interface
VERSION
version 0.140200
DESCRIPTION
These are private methods that are the underpinnings of the more friendly, high-level public methods in App::dupfind::Common, which is where you should go if you're searching for documentation on the App::dupfind namespace.
Please don't use this module by itself. It is for internal use only.
ATTRIBUTES
- weed_pass_map
-
Conversion table for user-friendly names to the weeding algorithms to their internal method names.
- stats
-
R/W Hashref accessor used for internally storing statistics (specifically with regard to cache hits/misses during the digest_dups phase)
METHODS
- _plan_weed_passes
-
Based on either or both the default settings and the user-specified weed-out algorithms to run on potential duplicates before resorting to calculating digests, this private method builds the ordered execution plan which is then carried out by $self->_pull_weeds
- _pull_weeds
-
Runs the weed-out passes against the datastructure containing the list of potential file duplicates. A weed-out pass is simply the implementation of a particular algorithm that can be run against a file or files in order to determine the uniqueness of a file.
Weeding is typically much more efficient than calculating the digests of files and so these digests are only calculated as a last resort. Weeding out files doesn't always get rid of all potential duplicates. When it doesn't, that's when you either (based on user input) run another different type of weeding algorithm or fall back directly on file hashing (digests).
- _do_weed_pass
-
Runs a single given weed-out pass against the list of potential file duplicates.
Keeps track of how many files it has scanned, how many non-duplicates it ruled out, and how many potential duplicates remain.