in reply to providing filenames dynamically

Change {} to () in the assignment to @ARGV. As is, you are assigning an anonymous hashref, which will stringify to something that is almost certainly not an existing file :)