NAME
Mac::Conversions - A package for common MacOS file encoding/decoding tasks
SYNOPSIS
use Mac::Conversions qw(binhex debinhex macbinary demacbinary macb2hex hex2macb);
$converter = Mac::Conversions->new;
$converter->binhex("path:to:MacPerl");
$converter->debinhex("path:to:MacPerl.hqx");
$converter->macbinary("path:to:Shuck");
$converter->demacbinary("path:to:Shuck.bin");
$converter->macb2hex("path:to:MacPerl.hqx");
$converter->hex2macb("path:to:MacPerl.bin");
DESCRIPTION
Mac::Conversions
is a class implementing converters for the types of file encoding/decoding routinely done when using MacOS. All of these rely on the presence of the Convert::BinHex
module, and Mac::Conversions
will not run if Convert::BinHex
is not installed.
The conversions are:
binhex($path)
-
Take the native Macintosh file pointed to by $path and create a BinHex file in the same folder. If the native Macintosh file is named "name", the BinHex file is named "name.hqx", unless "name.hqx" already exists. Then
binhex
will attempt to find a unique name by inserting integers in the name, "name.0.hqx", "name.1.hqx", etc. debinhex($path)
-
Take the BinHex file pointed to by $path and decode it to reconstruct the native Macintosh file. The name of the file will be that encoded into the BinHex file if a file of that name doesn't exist. Otherwise, a unique name will be constructed by adding integers after the name.
macbinary($path)
-
Take the native Macintosh file pointed to by $path and create a MacBinaryII file. The name of the MacBinary file will be "name.bin" if the native file is called "name", but
macbinary
will try to find a unique name in the same way thatbinhex
does if a file "name.bin" already exists. demacbinary($path)
-
The MacBinary II file pointed to by $path will be decoded to a native Macintosh file. The name of the file will be that encoded into the MacBinary file, except a unique name will be constructed if a file of that name already exists.
hex2macb($path)
-
The BinHex file $path is converted to a MacBinary file. The name will be "name.bin", where name is the name of the file encoded in the BinHex file, with the usual caveat.
macb2hex($path)
-
The MacBinary II file $path is converted to BinHex.
is_macbinary($path)
-
This routine uses a simple test to find out if a file is a MacBinary or not. Returns 1 if it is, 0 otherwise. This routine can be fooled, but should be correct almost all of the time.
new
-
The constructor for the class. If new is called with Debug => 1
$c = Mac::Conversions->new(Debug => 1);
then semi-useful debugging information will be printed to standard output. If Remove => 1 is set, then the original BinHex or MacBinary (but never a native Mac file) will be unlinked. (Note this means that it doesn't simply get moved to the Trash but disappears forever.)
SEE ALSO
See the documentation for Convert::BinHex
, where all the heavy lifting is really done.
COPYRIGHT
Copyright 1999, Paul J. Schinder
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.