This is a filter plugin for Data::Printer. It filters through several message digest objects and displays
their current value in hexadecimal format as a string.
ParsedModules
Any module that inherits from Digest::base. The following ones are actively supported:
• Digest::Adler32
• Digest::MD2
• Digest::MD4
• Digest::MD5
• Digest::SHA
• Digest::SHA1
• Digest::Whirlpool
If you have any suggestions for more modules or better output, please let us know.
ExtraOptions
Aside from the display color, there are a few other options to be customized via the "filter_digest"
option key:
show_class_name
If set to true (the default) the class name will be displayed right next to the hexadecimal digest.
show_reset
If set to true (the default), the filter will add a "[reset]" tag after dumping an empty digest object.
See the rationale below.
NoteondumpingDigest::*objects
The digest operation is effectively a destructive, read-once operation. Once it has been performed, most
Digest::* objects are automatically reset and can be used to calculate another digest value.
This behaviour - or, rather, forgetting about this behaviour - is a common source of issues when working
with Digests.
This Data::Printer filter will not destroy your object. Instead, we work on a cloned version to display
the hexdigest, leaving your original object untouched.
As another debugging convenience for developers, since the empty object will produce a digest even after
being used, this filter adds by default a "[reset]" tag to indicate that the object is empty, in a
'reset' state - i.e. its hexdigest is the same as the hexdigest of a new, empty object of that same
class.