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.