Because $9 is a variable in Perl, the ninth capture in a regular expression. Since you don't have a regex before, it is an undefined variable in your case, so il will be omitted altogether from your command line. If you escape the $ sign, you say that you want a $ sign, not a variable called $9. Then it is not interpolated and passed to awk correctly.
In reply to Re^5: how to use perl variable in system command to run on unix
by Laurent_R
in thread how to use perl variable in system command to run on unix
by tousifp
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |