If you read this file _as_is_, just ignore the funny characters you see.
It is written in the POD format (see pod/perlpod.pod) which is specially
designed to be readable as is.

=head1 NAME

perlmacos - Perl under Mac OS (Classic)

=head1 SYNOPSIS

For Mac OS X see README.macosx

Perl under Mac OS Classic has not been supported since before Perl 5.10
(April 2004).

When we say "Mac OS" below, we mean Mac OS 7, 8, and 9, and I<not>
Mac OS X.

=head1 DESCRIPTION

The port of Perl to to Mac OS was officially removed as of Perl 5.12,
though the last official production release of MacPerl corresponded to 
Perl 5.6. While Perl 5.10 included the port to Mac OS, ExtUtils::MakeMaker,
a core part of Perl's module installation infrastructure officially dropped support for Mac OS in April 2004.

=head1 AUTHOR

Perl was ported to Mac OS by Matthias Neeracher
E<lt>neeracher@mac.comE<gt>. Chris Nandor E<lt>pudge@pobox.comE<gt>
continued development and maintenance for the duration of the port's life.
