package Whatever; BEGIN { do ($ENV{DEVEL_MODE} ? 'MyMagicInline' : 'MyMagicDirect') or die $@ } ...perl code... __DATA__ __CPP__ ...C++ code... (ok I lied; I'm using Inline::CPP, not Inline::C)