Perl 1 to Perl 5 shared the same codebase, that Chaim Frenkel lovingly references with his clarfication that "Perl's grammar can not be reduced to BNF. The work of parsing Perl is distributed between yacc, the lexer, smoke and mirrors."