The Perl way (and the extreme programming one BTW) uses
more tests than specifications. Specifications are like consultative assemblies, they have no direct enforcement
power. They can't have until they are translated into
The problem of specifications
is the choice of language.
Specifications in common language are accesible to everyone including management and customer, but they are ambiguous.
Specfications in a more formal language are hard to write and to read.
In a sense, tests are a form of specification. The
problem is that they are only palatable to programmers.