GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  DIGEST::MD5::FILE (3)

.ds Aq ’

NAME

Digest::MD5::File - Perl extension for getting MD5 sums for files and urls.

CONTENTS

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.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 FILE (3) 2012-04-04

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.