0

次のコードを実行しようとするとエラーが発生します。

私の要件は、日付形式のファイルを見つけることです例:名前の付いたディレクトリにファイルがあります

    01-02-2013.tar.gz
    02-02-2013.tar.gz

.....

だから今、私はファイルを見つけようとしています 01-02-2013

ここにコードスニペットがあります

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time-6*24*60*60);
$year += 1900;
$mon += 1;
$mday = '0'.$mday if ($mday<10);
$mon = '0'.$mon if ($mon<10);
my $date_folder =~ /"$mday-$mon-$year"/;
        if (-e $date_folder){
                 unlink $date_folder or die ("Cannot Delete $date_folder : $!");
                        }

ここでは基本的に、現在の日付の 6 日前 (例: 01-02-2013.tar.gz) のファイルを検索しようとしています。$date_folder =~ /"$mday-$mon-$year" /; うまくいかない、

助言がありますか ?

4

2 に答える 2

1

最後に、このことは私のために働いた

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time-6*24*60*60);
$year += 1900;
$mon += 1;
$mday = '0'.$mday if ($mday<10);
$mon = '0'.$mon if ($mon<10);

opendir(DIR,"/home/DB_BKPS");
        my @files = grep (/$mday-$mon-$year/,readdir(DIR));
        print "@files\n";
                foreach my $file (@files){
                chomp($file);
                unlink ($files[0]);
                        }
closedir(DIR);

皆様、お時間をありがとうございました

于 2013-08-13T09:13:31.337 に答える