I posted something similar (though not as elegant or flexible) a long time ago. merlyn pointed out in that same thread that doing a require of the file may cause unexpected side effects, so I replied with another version that does a static search of @INC.
The problem I found with requireing the module was that I couldn't edit a module that had a syntax error in it, or otherwise wouldn't load.
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |