in reply to Location reference - programming style

Examine File::ShareDir::Install and File::ShareDir. These modules provide a portable way of installing (and more importantly) retrieving shared files, sich as config-files.

No messing around with __FILE__ or @INC or relative filepaths, which one way or another will probably fail you in the end if your module gets installed on a system quite different from your own.

CountZero

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James