in reply to Inline::C with multiple *.c

No problem for me with relative paths to 2 C files in the same directory:
C:\>type a.c void foo() { printf("Hello from foo\n"); } C:\>type b.c void bar() { printf("Hello from bar\n"); } C:\>type try.pl use warnings; use Inline C => "./a.c"; use Inline C => "./b.c"; foo(); bar(); C:\>perl try.pl Hello from foo Hello from bar C:\>
It may well be that relative paths need to begin with "./".

For LIBS and INC I think you do need to specify an absolute path which, for the cwd, should just be File::Spec->rel2abs('.')
And, yes, that would need to be done in a BEGIN block.

To me, that doesn't seem so bad - I guess it could always be improved.

Cheers,
Rob