BRP/P stored data in archive files, using its own proprietary, nontextual storage format. The only way to decode this data, or to obtain any sort of description of it, was to run BRP/P on these archives. BRP/P provided the necessary functions to show descriptions of an archive’s contents and to export it to plain text. However, it was so deeply rooted in the batch mode of operation (24 hours turnaround time!), that it required the name of the archive file to be hard-wired into the program file. There was no way to specify the filename on (say) the command line. Just checking the contents of an archive therefore required four steps: firing up an editor, editing a stub-file (every BRP/P programmer had a set of stub-files for performing the most common standard operations handy), running it, and then running "more" (or the equivalent) on the output file to finally find out what was in the archive file.
Encouraged by the easy success of doBRP, I applied the same idea to the problem of archives: a Perl wrapper, which in this case had to create a BRP/P-file before running it and printing the output to the terminal. After some experimentation, it became clear that it shared enough logic with doBRP that both could be combined into a single file. I revamped the code to take advantage of the commonality, cleaned it up, added a few bells and whistles, and could then release a final version of doBRP for general use. It has been used daily ever since.