in reply to how to use perl variable in system command to run on unix
$grep_date won't interpolate in the singly-quoting q() construct. When you change to a double-quoting construct, be sure to escape the dollar sign in awk's $9 argument.
Improve your skills with Modern Perl: the free book.
In Section
Seekers of Perl Wisdom