in reply to File::Copy but...

cored is correct. Just want to add a little bit: cored's way perserves the execution permission, at least according to my testing, and that's what you required. However, it does not perserve all permissions, when I test, it missed the write permissions, and if you really want as many permissions as possible being kept the same, you can use -p switch of the unix cp command.

use Shell; cp("-p", "BumpMAD.ksh","c.ksh");