This simplifies the code and improves performance since it reduces the number of joins.
The underscores are ugly and the .pl extension is an implementation detail that shouldn't be visible to the outside. Also, get rid of the *.in files. It's not really necessary to generate them. And I was always modifying the wrong file.