ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/staticperl/perl/lib/Digest/file.pm
Revision: 1.1
Committed: Thu Jun 30 14:27:10 2005 UTC (21 years, 4 months ago) by root
Branch: MAIN
CVS Tags: PERL-5-8-7, HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 package Digest::file;
2    
3     use strict;
4    
5     use Exporter ();
6     use Carp qw(croak);
7     use Digest ();
8    
9     use vars qw($VERSION @ISA @EXPORT_OK);
10    
11     $VERSION = "0.01";
12     @ISA = qw(Exporter);
13     @EXPORT_OK = qw(digest_file_ctx digest_file digest_file_hex digest_file_base64);
14    
15     sub digest_file_ctx {
16     my $file = shift;
17     croak("No digest algorithm specified") unless @_;
18     local *F;
19     open(F, $file) || croak("Can't open '$file': $!");
20     binmode(F);
21     my $ctx = Digest->new(@_);
22     $ctx->addfile(*F);
23     close(F);
24     return $ctx;
25     }
26    
27     sub digest_file {
28     digest_file_ctx(@_)->digest;
29     }
30    
31     sub digest_file_hex {
32     digest_file_ctx(@_)->hexdigest;
33     }
34    
35     sub digest_file_base64 {
36     digest_file_ctx(@_)->b64digest;
37     }
38    
39     1;
40    
41     __END__
42    
43     =head1 NAME
44    
45     Digest::file - Calculate digests of files
46    
47     =head1 SYNOPSIS
48    
49     # Poor mans "md5sum" command
50     use Digest::file qw(digest_file_hex);
51     for (@ARGV) {
52     print digest_file_hex($_, "MD5"), " $_\n";e
53     }
54    
55     =head1 DESCRIPTION
56    
57     This module provide 3 convenience functions to calculate the digest
58     of files. The following functions are provided:
59    
60     =over
61    
62     =item digest_file( $file, $algorithm, [$arg,...] )
63    
64     This function will calculate and return the binary digest of the bytes
65     of the given file. The function will croak if it fails to open or
66     read the file.
67    
68     The $algorithm is a string like "MD2", "MD5", "SHA-1", "SHA-512".
69     Additional arguments are passed to the constructor for the
70     implementation of the given algorithm.
71    
72     =item digest_file_hex( $file, $algorithm, [$arg,...] )
73    
74     Same as digest_file(), but return the digest in hex form.
75    
76     =item digest_file_base64( $file, $algorithm, [$arg,...] )
77    
78     Same as digest_file(), but return the digest as a base64 encoded
79     string.
80    
81     =back
82    
83     =head1 SEE ALSO
84    
85     L<Digest>