Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Perl Unicode
Perl Byte Array
Perl Certs
Perl Email
Perl Encryption
Perl FTP
HTML-to-XML
Perl HTTP
Perl IMAP
Perl MHT
Perl MIME
Perl RSA
Perl S/MIME
Perl Signatures
Perl Socket
Perl Spider
Perl Tar
Perl Upload
Perl XML
Perl XMP
Perl Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

 

How to read a binary structure (.zip header)

Demonstrates calling methods such as getUInt, getUShort, etc. to read integers in a binary structure. In this case, a .zip file is opened and the 1st local file header is examined.

Download Chilkat Perl Module

use chilkat;

$zipData = new chilkat::CkByteData();

$success = $zipData->loadFile("dude.zip");
if ($success != 1) {
    print "Failed to load file" . "\r\n";
    exit;
}

$offset = 0;

$filenameLen = $zipData->getUShort(26);

print $zipData->getRangeStr(30,$filenameLen) . "\r\n";

$compressedSize = $zipData->getUInt(18);
$uncompressedSize = $zipData->getUInt(22);

print $compressedSize . "\r\n";
print $uncompressedSize . "\r\n";

#  Note: Zip File Structure:
#  see: http://www.pkware.com/documents/casestudies/APPNOTE.TXT

#   Overall .ZIP file format:

#     [local file header 1]
#     [file data 1]
#     [data descriptor 1]
#     .
#     .
#     .
#     [local file header n]
#     [file data n]
#     [data descriptor n]
#     [archive decryption header]
#     [archive extra data record]
#     [central directory]
#     [zip64 end of central directory record]
#     [zip64 end of central directory locator]
#     [end of central directory record]

#   A.  Local file header:

#         local file header signature     4 bytes  (0x04034b50)
#         version needed to extract       2 bytes
#         general purpose bit flag        2 bytes
#         compression method              2 bytes
#         last mod file time              2 bytes
#         last mod file date              2 bytes
#         crc-32                          4 bytes
#         compressed size                 4 bytes
#         uncompressed size               4 bytes
#         file name length                2 bytes
#         extra field length              2 bytes

#         file name (variable size)
#         extra field (variable size)

#  ...

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.