I fail to understand your point. The problem wasn't that
he used 'system', the problem was that he used single quotes
instead of double quotes. Given the mistake, the system solution works better than your suggestion - at least that
solution gave error messsages. But:
use File::Copy;
move ($OutFile, '$List/archive.html');