From Perl Design Patterns Book:
AboutPerl
Because we don't know how programs will reinvent
themselves, we don't know how to design an "Interface"
*, what composite types are involved, and what containment
and inheritance hierarchies will look like. In the beginning,
we seldom know that a program will grow into this at all!
"Interface" is much more trendy than the ailing
"Application Programmer Interface", or "API". Generally
speaking, an interface is how you use something. Just
like any consumer appliance, modules should be used in very
specific ways: do not submerse in water. Do not use while
driving. Do not paint over vents. Do not insert fingers.
Do not leave on "high" setting unattended. Not only do
programs use APIs to talk to the outside world, they use
them internally to connect parts.
Perl's easy going attitude and powerful features shine
here. After a program has devised a solution to a logic
problem, and after it has proved its continued usefulness,
we have a route for improvement.
Ciao, Valerio
Update: thank you all for the links, really interesting.
It would be nice to see these links listed in tutorials.
Another quote, but from Dominus's site:
The "Design Patterns" solution is to turn the programmer
into a fancy macro processor
;-))