我有一个由其他人编写的perl脚本。我更多地处理PHP和JS。每日文件都会上传,然后导入我们的数据库。文件名格式为Alwaysthesamename_timestamp.txt
我的问题是,我可以在导入发生之前将文件重命名为Alwaysthesamename,然后删除文件,或者perl是否有办法忽略下划线以及导入后的所有内容?任何方向表示赞赏。
谢谢
答案 0 :(得分:0)
当然,这两种方法同样可行。
重命名文件
use File::Copy 'move';
move( 'Alwaysthesamename_timestamp.txt', 'Alwaysthesamename.txt' )
or die "Unable to rename log file: $!";
检测文件
使用Perl的glob
功能:
my ( $file ) = glob( "Alwaysthesamename*" );
(请注意,glob "something"
也可以写为<something>
)
当然,当您在同一目录/位置中有多个此类文件时,更有趣的问题。如果您的时间戳为YYYY-MM-DD
格式,则简单字符串sort
应生成最新文件:
my ( $file ) = reverse sort glob "Alwaysthesamename*";