home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2004 November
/
PCWorld_2004-11_cd.bin
/
software
/
topware
/
activeperl
/
ActivePerl-5.8.4.810-MSWin32-x86.exe
/
ActivePerl-5.8.4.810
/
Perl
/
bin
/
crc32.bat
< prev
next >
Wrap
DOS Batch File
|
2004-06-01
|
1KB
|
49 lines
@rem = '--*-Perl-*--
@echo off
if "%OS%" == "Windows_NT" goto WinNT
perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
goto endofperl
:WinNT
perl -x -S %0 %*
if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
if %errorlevel% == 9009 echo You do not have Perl in your PATH.
if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
goto endofperl
@rem ';
#! /usr/bin/perl -w
#line 15
# computes and prints to stdout the CRC-32 values of the given files
use lib qw( blib/lib lib );
use Archive::Zip;
use FileHandle;
my $totalFiles = scalar(@ARGV);
foreach my $file (@ARGV)
{
if (-d $file)
{
warn "$0: ${file}: Is a directory\n";
next;
}
my $fh = FileHandle->new();
if (! $fh->open($file, 'r'))
{
warn "$0: $!\n";
next;
}
binmode($fh);
my $buffer;
my $bytesRead;
my $crc = 0;
while ($bytesRead = $fh->read($buffer, 32768))
{
$crc = Archive::Zip::computeCRC32($buffer, $crc);
}
printf("%08x", $crc);
print("\t$file") if ($totalFiles > 1);
print("\n");
}
__END__
:endofperl