in reply to Writing portable code
Perl has neat ways to manage namespaces, so you can avoid singletons, esp for procedural code
If you're going for conditional compilation optimize the code use Devel::CheckOS();
use constant WIN32 => !! Devel::CheckOS::os_is('MicrosoftWindows');
This probably doesn't apply to your codebase, but a common mental block is developing your app in a single file when it naturally lends itself to multiple files
Write/develop/test the code normally in seperate files -- don't complicate development by limited thinking about distribution :)
You can combine it into a single file for distribution later, using fatpack/pp/ http://www.cavapackager.com/ or whatever
PAR/pp can pack your script/modules only without including core modules, but you probably think that's too heavy (requires installing/packing PAR)
fatpack is lighter, and you can fatpack YourApp::Linux/YourApp::Windows, and offer linuxapp.pl/windowsapp.pl downloads
or you can use 'cat' with autosplit/autoload like BrowserUk suggests
|
|---|