Since you are using `/` in your pattern, I would use a different character as the pattern delimiter. Typically, `{}` are used as a substitute:

perl -pe 'm{/([0-9]+)\.txt}; system "cp gold/$1.txt Corrected/$1.html.corrected.txt\n";'

Alternatively, if all you are trying to do is rename the files, then this does not require perl:
```
for i in gold/*.txt; do j=`basename $i`; cp $i Corrected/${j%%.txt}.html.corrected.txt; done
```