I've just had a play with both, and it is not so simple. The most basic structure in OpenMP is to parallel a (C-style) 'for' loop by prefixing with a #pragma in C/C++. A Perl 'for' loop is not translated into a C 'for' loop by B::C, so it is not just a case of hacking the resulting C. Looks like I'll have to convert the OpenMP directives into Perl threading constructs.
I just tested it using perlcc and it DID translate the perl 3-argument for loop into a C 3-argument for-loop. See For Loops for foreach and check out the C-style 3-argument for loop (appears first in the doc in fact!) which got "borrowed" from C in the first place and which is what you probably SHOULD be trying to translate.
The Perl one-argument for loop (really a foreach loop with a syntactic allowance being supplied) is an entirely different animal entirely and its resemblance to the C for loop should be treated as semantic and of no practical importance in ths regard.