What Is Object-Oriented Programming?Why Object-Oriented Programming?TerminologyUsing Perl Classes (Without Writing Them)Objects, Methods, and Classes in PerlPerl Objects Are Usually HashesArrow Notation (->)Gene1: An Example of a Perl ClassDetails of the Gene1 ClassVariable Names and ConventionsCarp and croakThe new Constructor MethodCreating an Object with blessUsing ref to Report an Object’s ClassInitialize an Object with an Anonymous HashAccessor MethodsGene2.pm: A Second Example of a Perl ClassClosuresTracking Class Data from the Constructor MethodAccessor and Mutator MethodsGene3.pm: A Third Example of a Perl ClassTesting Gene3.pmHow AUTOLOAD WorksDefining Global VariablesAUTOLOAD Simplifies Writing MethodsBypassing use strictAUTOLOAD argumentsUsing naming conventions to write code: get_ and set_AUTOLOAD accessorsAUTOLOAD mutatorsAUTOLOAD speedupCleaning Up Unused Objects with DESTROYGene.pm: A Fourth Example of a Perl ClassBuilding Gene.pmDefining Attributes and Their BehaviorsInitializing the Attributes of a New ObjectThe newer new constructorThe clone constructorPermissionsGene.pm Test Program and OutputHow to Document a Perl Class with PODAdditional TopicsUsing Class::Struct to Define ClassesClass InheritanceBioperlResourcesExercises