You should document it so a competent Perl programmer can understand it and then leave a copy of O'Reilly's Learning Perl. Your supervisor isn't going to be the one patching your project - he doesn't know perl. If he *is* doing that then I know where to find one supervisor that is wasting his time. Your documentation may include pictures, strategy documents, revision histories or whatever else is needed to encapsulate the higher-level order to the application. Lower level things should be documented inline unless you think it's important enough to document separately.
There's no magic here - an $Language programmer is required to work with $Language programs.