Что мне нужно сделать, это написать скрипт, который будет читать в списке каталогов , а затем отсортировать их, а последний каталог будет «удален».сортировка массива PERL по дате на ASCII
my $ last_one = pop @sorted;
Затем, что последний каталог будет удален - с системой ("RM- ВЧ $ last_one) или remove_tree ($ last_one)
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4
5 my $dir_to_process = "/production/log/fo/archive/";
6 opendir DH, $dir_to_process or die "Sorry, this is not going to work out $!";
7
8 while (my $name = readdir DH) {
9 next if $name =~ /^\./;
10 push(my @unsorted,$name) ;
11 my @sorted_dir = sort @unsorted;
12 foreach my $sorted (@sorted_dir) {
13 print "$sorted\n";
14 sleep 1 ;
15 }
16
17 }
Однако я имею много проблем сортировки каталогов. -.. они написаны этот формат Это фактический выход
2013Nov12
2013Sep14
2013Jul15
2013Jan20
2013Sep11
2013May31
2013Jul04
2012Dec09
2013Oct12
2013Oct09
2012Dec27
2013Nov28
2013Mar24
2013Jun06
2013Jun25
Вы говорите, что «сортировка по ASCII» в заголовке, но я предполагаю, что вы действительно хотите, чтобы сортировать по дате (т.е. самого старого до нового или наоборот)? – ThisSuitIsBlackNot
Сортировка не имеет смысла, если вы просто хотите найти самое старое. – ikegami
проблема в том, что она сортируется по ascii, а не по дате - да, что мне нужно, это старейшая дата-каталог. – capser