in reply to system vs backticks

That shouldn't generally happen. Here's a minimal example for illustration:
foo.pl: $ENV{FOO} = 'bar'; system 'perl bar.pl'; print `perl bar.pl`; bar.pl: print "I got $ENV{FOO}\n";
When I invoke "perl foo.pl" from my terminal, I get:
I got bar
I got bar
So maybe what you're actually seeing is something different? Perhaps a bit of code would help.