in reply to Help with grep

Your $search_string would look something like:

"C04*040716*.ORD_API"
i.e. look for "C0", 0 or more "4"s, "04071", 0 or more "6"s, any single character ("."), then "ORD_API".

What you probably need is something like:

my $search_string = "C04.*?".substr($year,2,2).$month.$day.".*\.ORD_AP +I";
Try perlre. "regex" is short for Regular Expression.