-
-
07 Apr 2012 03:01:16 UTC
- Distribution: Digest-MD5-File
- Module version: 0.08
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Issues (1)
- Testers (7761 / 4 / 0)
- Kwalitee
Bus factor: 1- 45.58% Coverage
- License: unknown
- Activity
24 month- Tools
- Download (5.14KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
++ed by:1 non-PAUSE userand 1 contributors- Daniel Muey <http://drmuey.com/cpan_contact.pl>
- Dependencies
- Digest::MD5
- LWP::UserAgent
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
- NAME
- SYNOPSIS
- DESCRIPTION
- EXPORT
- OBJECT METHODS
- file_* functions
- dir_* functions
- url_* functions
- SPECIAL SETTINGS
- SEE ALSO
- AUTHOR
- COPYRIGHT AND LICENSE
NAME
Digest::MD5::File - Perl extension for getting MD5 sums for files and urls.
SYNOPSIS
use Digest::MD5::File qw(dir_md5_hex file_md5_hex url_md5_hex); my $md5 = Digest::MD5->new; $md5->addpath('/path/to/file'); my $digest = $md5->hexdigest; my $digest = file_md5($file); my $digest = file_md5_hex($file); my $digest = file_md5_base64($file); my $md5 = Digest::MD5->new; $md5->addurl('http://www.tmbg.com/tour.html'); my $digest = $md5->hexdigest; my $digest = url_md5($url); my $digest = url_md5_hex($url); my $digest = url_md5_base64($url); my $md5 = Digest::MD5->new; $md5->adddir('/directory'); my $digest = $md5->hexdigest; my $dir_hashref = dir_md5($dir); my $dir_hashref = dir_md5_hex($dir); my $dir_hashref = dir_md5_base64($dir);
DESCRIPTION
Get MD5 sums for files of a given path or content of a given url.
EXPORT
None by default. You can export any file_* dir_*, or url_* function and anything Digest::MD5 can export.
use Digest::MD5::File qw(md5 md5_hex md5_base64); # 3 Digest::MD5 functions print md5_hex('abc123'), "\n"; print md5_base64('abc123'), "\n";
OBJECT METHODS
addpath()
my $md5 = Digest::MD5->new; $md5->addpath('/path/to/file.txt') or die "file.txt is not where you said: $!";
or you can add multiple files by specifying an array ref of files:
$md5->addpath(\@files);
adddir()
addpath()s each file in a directory recursively. Follows the same rules as the dir_* functions.
my $md5 = Digest::MD5->new; $md5->adddir('/home/tmbg/') or die "See warning above to see why I bailed: $!";
addurl()
my $md5 = Digest::MD5->new; $md5->addurl('http://www.tmbg.com/tour.html') or die "They Must Be not on tour";
file_* functions
Get the digest in variouse formats of $file. If file does not exist or is a directory it croaks (See NOFATALS for more info)
my $digest = file_md5($file) or warn "$file failed: $!"; my $digest = file_md5_hex($file) or warn "$file failed: $!"; my $digest = file_md5_base64($file) or warn "$file failed: $!";
dir_* functions
Returns a hashref whose keys are files relative to the given path and the values are the MD5 sum of the file or and empty string if a directory. It recurses through the entire depth of the directory. Symlinks to files are just addpath()d and symlinks to directories are followed.
my $dir_hashref = dir_md5($dir) or warn "$dir failed: $!"; my $dir_hashref = dir_md5_hex($dir) or warn "$dir failed: $!"; my $dir_hashref = dir_md5_base64($dir) or warn "$dir failed: $!";
url_* functions
Get the digest in various formats of the content at $url (Including, if $url points to directory, the directory listing content). Returns undef if url fails (IE if LWP::UserAgent's $res->is_success is false)
my $digest = url_md5($url) or warn "$url failed"; my $digest = url_md5_hex($url) or warn "$url failed"; my $digest = url_md5_base64($url) or warn "$url failed";
SPECIAL SETTINGS
BINMODE
By default files are opened in binmode. If you do not want to do this you can unset it a variety of ways:
use Digest::MD5::File qw(-nobin);
or
$Digest::MD5::File::BINMODE = 0;
or at the function/method level by specifying its value as the second argument:
$md5->addpath($file,0); my $digest = file_md5_hex($file,0);
UTF8
In some cases you may want to have your data utf8 encoded, you can do this the following ways:
use Digest::MD5::File qw(-utf8);
or
$Digest::MD5::File::UTF8 = 1;
or at the function/method level by specifying its value as the third argument for files and second for urls:
$md5->addpath($file,$binmode,1); my $digest = file_md5_hex($file,$binmode,1); $md5->addurl($url,1); url_md5_hex($url,1);
It use's Encode's encode_utf8() function to do the encoding. So if you do not have Encode (pre 5.7.3) this won't work :)
NOFATALS
Instead of croaking it will return undef if you set NOFATALS to true.
You can do this two ways:
$Digest::MD5::File::NOFATALS = 1;
or the -nofatals flag:
use Digest::MD5::File qw(-nofatals); my $digest = file_md5_hex($file) or die "$file failed";
$! is not set so its not really helpful if you die().
SEE ALSO
Digest::MD5, Encode, LWP::UserAgent
AUTHOR
Daniel Muey, http://drmuey.com/cpan_contact.pl
COPYRIGHT AND LICENSE
Copyright 2005 by Daniel Muey
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Module Install Instructions
To install Digest::MD5::File, copy and paste the appropriate command in to your terminal.
cpanm Digest::MD5::File
perl -MCPAN -e shell install Digest::MD5::File
For more information on module installation, please visit the detailed CPAN module installation guide.