in reply to renaming filenames

Check that your script really is saved in UTF-8. What editor are you using to write your script? Does it offer a choice of encoding when you save files?

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'