in reply to GREP value not initialized

I think I can see the bug in your grep code.

In your first regular expression, you have written:

/\/\Q$file_name\E#/i

in other words, you are trying to match a filename, and you have sensibly quoted it, however you have added a hash char to the end. Was this international? A hash won't denote a comment unless you set the /x regexp option.

A few other comments:

You can reduce the 'leaning toothpicks effect' by choosing a different regexp delimiter. eg:

qr:/\Q$file_name\E:i

Also the second regular expression looks to be matching a file extension. If that is what you are doing, you might want to add an anchor for the end of the string. eg:

 /\.plf^/