![]() |
P6C Perl Libs ReadMe |
P6C_Perl_Libs
Note: Please see the revison history below for the latest information about updates to these libraries. Updates are published irregularly, and sometimes frequently, as bugs are found and fixed and enhancements are made and tested internally.
P6C_Perl_Libs is a collection of Perl modules that that we use for the Perl scripts that we write and run on the Win32 platform. The collection includes the following modules.
Config::IniFiles is a module that we obtained from
CPAN, the Comprehensive Perl Archive Network. that provides
a nice interface to Windows INI files.
P6consulting::P6cfglib is a module that we wrote for processing Windows INI
files before we discovered the Config::IniFiles module. We still use it, though
most of our new code uses the CPAN module. This module will eventually be phased out, though
it will be maintained to the extent of fixing bugs, such as the one we discovered and fixed
on 28 July 2004. We recently discovered that Config::IniFiles does not run on
the ancient version of Perl that ships with Novell NetWare 5.1. Consequently, this module has
been granted a reprieve.
P6consulting::P6csvlib is a module that we wrote for reading CSV files and other
delimited ASCII files. This module uses hashes and arrays to expedite access to fields by
position and by column name.
P6consulting::P6filelib is a module that we wrote to encapsulate common
activieties involving file names, and reading of whole files into strings and arrays
of lines.
P6consulting::P6ftplib is a module that we wrote to encapsulate basic FTP
posting (upload) and download operations. Download and batch operations are yet to be
implemented. However, the upload (post/put) and file deletion operations seem to be quite
robust. We made these into their own module to confine the scope of the object variables
created and used by the Net::FTP module, for which this module acts as a wrapper.
The Net::FTP module is part of the standard Perl distribution.
P6consulting::P6stringlib is a module of functions for processing strings. It
contains functions for quoting strings, removing quotes from strings, trimming leading
and trailing spaces from strings, substitution into blocks of HTML text delimited by
specially formatted HTML comments, among other things. We use these functions extensively
in the code we write for generating and maintaining static and dynamic HTML pages.
P6consulting::P6timelib is a collection of functions for formatting date and
time values.
P6consulting::P6win32 is a module that wraps the Win32::TieRegistry
module that comes with the ActiveState Perl distribution in standard functions. This
simplifies one-off Registry operations by hiding the code to create and destroy the tied
hashes that hold the Registry in memory.
Note: The P6Consulting modules were written, tested, and intended to be used on Windows machines with a Windows version of Perl. It was tested against Perl version 5.6.1, which is freely available at http://www.activestate.com/Products/Download/Register.plex?id=ActivePerl.
Though these modules were developed and we use them on Windows machines, all but
P6consulting::P6win32 should work on Unix or Linux, too.
Copy file P6C_Perl_Libs.zip into your main Perl directory, usually
C:\Perl\, and do one of the following.
This will add two directories each to your html and site subtrees. The
html directory contains the documentation, in HTML format, and the site
directory contains the Perl code.
Config contains version 2.38 of the Config::IniFiles module from
CPAN.
P6consulting contains the remaining modules.Since all the modules are pure Perl, they are ready to use. You may delete the Zip file or move it elsewhere for safekeeping.
| Date | Module | Change |
| 01 August 2004 | P6cfglib | Fix bug in function config_to_hash_p6c that caused it to drop the last two characters of keys when reading a configuration file into a hash. |
| 05 August 2004 | P6stringlib | Add the following functions.
|
| 05 August 2004 | P6timelib | Add function parse_date_p6c, a general purpose date parser. |
| 07 August 2004 | P6cfglib | Fix bug in function config_to_hash_p6c that caused it to retain the carriage returns at the ends of keys when reading a configuration file into a hash. When reading text files in binary mode, as it does, chomp gets the line feed but leaves the carriage return. |
| 07 August 2004 | P6stringlib | Amend documentation of functions imported from our CGI library on 05 August 2004, to reflect that they live in a Perl module. |
| 08 August 2004 | P6stringlib | Fix extract_marked_block_p6c so that it behaves correcly when the markers are preceded by tabs. The original was used with markers placed flush with the left margin. |
| 05 October 2004 | P6ftplib | Add this module, containg the following functions.
|
| 05 October 2004 | P6stringlib | Add the following functions.
|
| 21 October 2004 | P6ftplib | Correct formatting error in output of function update_mod_date and rename it update_mod_date_p6c. |
| 01 November 2004 | P6ftplib | Add the following functions.
|
| 03 November 2004 | P6ftplib |
|
| 01 February 2005 | P6ftplib | Add time delays and up to 5 retries all functions. |
| 01 February 2005 | P6stringlib | Change function update_mod_date_p6c so that it performs a global replacement. |
| 07 February 2005 | P6stringlib | Adapt function protect_secret_p6c to replace text, performing a global replacement. The new function is called replace_marked_block_p6c, and it could easily supercede protect_secret_p6c because it would do the same thing if you called it with a null string. Nevertheless, the older function will be retained but deprecated. |
| 27 April 2005 | P6filelib | Add function make_GDG_P6C to create generation data group file sets. Thes allow you to keep up to N sets of backups of a file. |
| 04 May 2005 | P6filelib | Fix a bug that crept into function make_GDG_P6C when I moved it into this package. The bug prevented any script that uses or requires this module from compiling. I tested this version today by calling it into a production script. |
David A. Gray, MBA, of Simple Soft Services, Inc., d/b/a WizardWrx.
© 2005-2006, Simple Soft Services, Inc., d/b/a WizardWrx. All rights reserved world wide.
As this package is freeware and is distributed in source code form, there is no formal support. However, if you have questions about how to use the P6Consulting modules or wish to engage us to write custom Perl code for you, please contact us, and we shall answer your questions on a best efforts basis, or contact you to discuss your needs.
Download your free copy here.
P6 Consulting Home page www.wizardwrx.com.
| P6 Perl Libs Home Page | Other Free Stuff |