The Jargon File (version 4.4.7, 29 Dec 2003):
Swiss-Army chainsaw
In early Unix days, a well-known technical paper analogized the lexical
analyzer generator lex(1) to a Swiss-army knife; this was a comment on the
remarkable variety of more general uses discovered for a program originally
designed as a special-purpose code generator for writing compilers. Two
decades later, well-known hacker Henry Spencer described the Perl
scripting language as a ?Swiss-Army chainsaw?, intending to convey his
evaluation of the language as exceedingly powerful but ugly and noisy and
prone to belch noxious fumes. This had two results: (1) Perl fans adopted
the epithet as a badge of pride, and (2) it entered more general usage to
describe software that is highly versatile but distressingly inelegant.