The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Acme::BloodType - For those obsessed with celebrities' blood types


Version 0.01


Allows you to model people with different blood-types and see what would happen if they had a kid. Alpha version handles ABO only for now.

  use Acme::BloodType;

  # Hooray for gene sequencers
  $mary = Acme::BloodType->new({ genotype => "AA" });
  $bill = Acme::BloodType->new({ phenotype => "O" });

  $baby = $mary->cross($bill);

  print "It's a ", $baby->get_bloodtype, "!\n";



Create an Acme::Bloodtype object representing a person. You may specify genotype, phenotype (in which case a genotype is chosen at random), or nothing, in which case it's all random. Probabilities don't (yet) model real-world distributions.


Get the bloodtype (phenotype) of this person. Returns "A", "B", "AB", or "O".


Get the genotype of this person. Returns a string of two characters, which may be "A", "B", or "O".


"Mate" one person with the other, producing a result chosen randomly in the style of Mendel.


Andrew Rodland, <ARODLAND at>


Please report any bugs or feature requests to bug-acme-bloodtype at, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


You can find documentation for this module with the perldoc command.

    perldoc Acme::BloodType

You can also look for information at:



Copyright 2006 Andrew Rodland, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.