Я пытаюсь запустить этот Perl-скрипт, но он не работает должным образом.Предполагается хранить значения имен папок в формате даты (пример: 11-03-23)
У меня есть несколько папок, размещенных в этом месте в моей учетной записи:
/ hqfs /datastore / files
11-02-23 11-02-17 11-04-21
Я храню их в файле "processing_dirs.dat".
Но в выводе: я получил "pst12345678"
в процессе_данных.dat
И когда я напечатал $dh
, я получил GLOB(0x12345)
что-то вроде этого:
Пожалуйста, помогите мне получить правильный вывод.
#!/usr/bin/perl
use strict;
use warnings;
use Storable;
# This script to be run 1 time only. Sets up 'processed' directories hash.
# After this script is run, ready to run the daily script.
my $dir = '/hqfs/datastore/files'; # or what ever directory the date-directories are stored in
opendir my $dh, $dir or die "Opening failed for directory $dir $!";
my @dir = grep {-d && /^\d\d-\d\d-\d\d$/ && $_ le '11-07-25'} readdir $dh;
closedir $dh or die "Unable to close $dir $!";
my %processed = map {$_ => 1} @dir;
store \%processed, 'processed_dirs.dat';