in reply to system call with semicolon in argument

I don't think it's a perl problem:

Your semicolon is interpreted as command delimiter by the shell. You should consider either quoting or escaping "twice"!

DB<1> print `echo '\;'` ; DB<2> print `echo \;` DB<3> print `echo \\;` ; DB<4> print `echo ';'` ; DB<5> print `echo '\\'` \

To be more precise you have to escape the backslash for perl not the semicolon, such that the shell finally sees an escaped semicolon \;. As you can see by comparing line 1 and 4 escaping the semicolon has no effect for perl!

\; and ; are identical, since there is no special meaning like for \n

Cheers Rolf