You have to be careful which variables you interpolate, and which you don't:
my $file = 'stuff'; system qq[grep 'DataDictionary' $file | awk -F'<pciOFACViolation>' '{p +rint \$1}'|...]; # ^ interpolate + ^ don't interpolate
Update: see a similar discussion we have at the moment.
In reply to Re: commands with multiple pipes in perl
by moritz
in thread commands with multiple pipes in perl
by raghu_shekar
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |