Perl下如何实现文件批量改名

Perl下如何实现文件批量改名

在c:\downloads> 下有许多文件, 形如:
cfxk20080812230005.rm
cfxk20080813230005.rm
cjyd20080812223009.wma
cjyd20080813223327.rm
gbgsh20080813160004.rm
gfsk20080813061005.wma
gfsk20080814061005.rm
sqgs20080813203005.rm
swsx20080813193005.rm
ygyy20080813064004.rm
ygyy20080814064004.rm
zqgbwjb20080812110005.rm
zqgbwjb20080813110006.rm
zqgbwjb20080814110005.rm
.........

另有文件名称对照表a.txt
c:\downloads> type a.txt
cfxk 财富星空
cjyd 财经夜读
gbgsh 广播故事会
gfsk 国防时空
.....

要将文件的拼音改名为汉字, 然后将文件(不包括扩展名)的最后六个数字(具体是什么没有规律)删除, 更改后的文件形如:
财富星空20080812.rm
财富星空20080813.rm
财经夜读20080812.wma
财经夜读20080813.rm
广播故事会20080813.rm
国防时空20080813.wma
国防时空20080814.rm
.........

如何实现呢? 本人才学Perl, 请大家多帮忙, 谢谢!!
用正则匹配一下,再rename
man rename
关键是如何匹配呢? 前面的部分得改, 后面的6个字符还得删除, 如何实现呢?
昨天看了半天的rename, 就是没法实现啊.


[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/perl
$_="cfxk20080812230005.rm";
s/[0-9]{6}\./\./;
s/cfxk/财富星空/;
print $_;

谢谢!
我好象能实现了, 待我试试.  再次感谢!!