Perl导入脚本 - 需要重命名每日文件

时间:2014-02-25 18:52:29

标签: perl

我有一个由其他人编写的perl脚本。我更多地处理PHP和JS。每日文件都会上传,然后导入我们的数据库。文件名格式为Alwaysthesamename_timestamp.txt

我的问题是,我可以在导入发生之前将文件重命名为Alwaysthesamename,然后删除文件,或者perl是否有办法忽略下划线以及导入后的所有内容?任何方向表示赞赏。

谢谢

1 个答案:

答案 0 :(得分:0)

当然,这两种方法同样可行。

  1. 重命名文件

    use File::Copy 'move';
    move( 'Alwaysthesamename_timestamp.txt', 'Alwaysthesamename.txt' )
      or die "Unable to rename log file: $!";
    
  2. 检测文件

    使用Perl的glob功能:

    my ( $file ) = glob( "Alwaysthesamename*" );
    

    (请注意,glob "something"也可以写为<something>

    当然,当您在同一目录/位置中有多个此类文件时,更有趣的问题。如果您的时间戳为YYYY-MM-DD格式,则简单字符串sort应生成最新文件:

    my ( $file ) = reverse sort glob "Alwaysthesamename*";