I'm not sure why escaping the right bracket thingy isn't working for you, but just as a better method of escaping, perl has the quotemeta function which automatically escapes characters like that.
Comment on Re: Escaping special characters in filename for Net::SCP
The funny thing is I do know full well about quotemeta. For some reason it must have seemed better to me to roll my own s/// instead. Anyway "it doesn't work", for the following acceptation of "doesn't work": "No such file".
OTOH if I do not quote, perl doesn't complain but I get only an empty file on the server, named after what follows '>' in the original filename.