in reply to executing perl script using -e

Any clues why and how can I do that?

Yes. You are giving perl a string and nothing more. Perl looks at the string and happily throws it away.

# string "system(/usr/bin/perl /root/test.pl)" # program system "/usr/bin/perl /root/test.pl";

So, omit the double quotes; try instead

perl -e 'system "/usr/bin/perl /root/test.pl"'

or this

perl -e 'system "/usr/bin/perl","/root/test.pl"'

See system for the difference between the two expressions.

perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'