I've been using inheritance in several CPAN modules of mine:
- Math::Symbolic uses inheritance for methods that are common for all kinds of node types (Operators, Variables, Constants).
- Physics::Particles -> Physics::Springs -> Physics::Springs::Friction use inheritance. Physics::Springs extends the particle simulations of Physics::Particles with spring-like forces (that is, exclusively acting between two particles), Physics::Springs::Friction adds friction to the simulation.
- Math::Approx::Symbolic subclasses Math::Approx and adds a method that generates a Math::Symbolic tree from the polynomial approximation made by Math::Approx. (That can be used for computation directly, compilation to Perl subroutines, LaTeX dumps, etc.)
Hope that's enough examples of inheritance in "real" projects.
Steffen