NAME
CAD::Drawing::IO::Compressed - load and save compressed data
NOTICE
This works well for single-file formats like dxf and dwg, but currently has no support for directory formats (which would need to be saved in 'tarball' form.)
AUTHOR
Eric L. Wilhelm <ewilhelm at cpan dot org>
http://scratchcomputing.com
COPYRIGHT
This module is copyright (C) 2004-2006 by Eric L. Wilhelm. Portions copyright (C) 2003 by Eric L. Wilhelm and A. Zahner Co.
LICENSE
This module is distributed under the same terms as Perl. See the Perl source package for details.
You may use this software under one of the following licenses:
(1) GNU General Public License
(found at http://www.gnu.org/copyleft/gpl.html)
(2) Artistic License
(found at http://www.perl.com/pub/language/misc/Artistic.html)
NO WARRANTY
This software is distributed with ABSOLUTELY NO WARRANTY. The author, his former employer, and any other contributors will in no way be held liable for any loss or damages resulting from its use.
Modifications
The source code of this module is made freely available and distributable under the GPL or Artistic License. Modifications to and use of this software must adhere to one of these licenses. Changes to the code should be noted as such and this notification (as well as the above copyright information) must remain intact on all copies of the code.
Additionally, while the author is actively developing this code, notification of any intended changes or extensions would be most helpful in avoiding repeated work for all parties involved. Please contact the author with any such development plans.
Requisite Plug-in Functions
See CAD::Drawing::IO for a description of the plug-in architecture.
check_type
Returns true if $type is "compressed" or $filename has a ".gz" extension (probably the best way.)
$fact = check_type($filename, $type);
Compressed I/O functions
These use File::Temp and compression modules to create a compressed version of most supported I/O types (FIXME: need a tar scheme for directory-based formats (currently unsupported))
save
$drw->save($filename, \%opts);
load
$drw->load($filename, \%opts);