open (File, "
use CGI qw(:standard); my ($cm, $cy) = (localtime)[4,5]; $cm++; $cy+=1900; $cm =~ s/^(\d)$/($match="0$1")/es; #check (1=>01) $y = param('y') or $y = $cy; $m = param('m') or $m = $cm; if ($y==2000){ $mm=$m; $mm =~ s/^0(\d)$/$1/o; #check (01=>1) if ($mm < 4){ $m='04'; } } $dirname ="/web/local/weather.tomsk.net/html/img/camera"; my %adekvat = ('01','январь','02','февраль','03','март','04','апрель','05','май','06','июнь','07','июль','08','август','09','сентябрь','10','октябрь','11','ноябрь','12','декабрь'); opendir(YEAR, $dirname) or die "can't opendir $dirname: $!"; @allyears = grep !/^\.\.?$/, readdir YEAR; print ""; foreach $years (reverse sort @allyears) { #### all the years # print "$years Год"; if ($years eq $y) { $syear=$years; print "$years"; } else { print "$years"; } } print " "; # foreach $years (reverse sort @allyears) { #### all the years opendir(MONTH, "$dirname/$syear") or die "can't opendir $dirname/$syear: $!"; print ""; @allmonths = grep !/^\.\.?$/, readdir MONTH; foreach $months (reverse sort @allmonths) { #### all the months if ($months eq $m) { print "$adekvat{$months}"; } else { print "$adekvat{$months}"; } } closedir(MONTH); print " "; # } closedir(YEAR); print "\n"; opendir(DAY, "$dirname/$y/$m") or die "can't opendir $dirname/$y/$m: $!"; @alldays = grep !/^\.\.?$/, readdir DAY; foreach $days (reverse sort @alldays) { #### all the days print "--$days--"; opendir(HOUR, "$dirname/$y/$m/$days") or die "can't opendir $dirname/$syear/$months/$days: $!"; @allhours = grep !/^\.\.?$/, readdir HOUR; foreach $hours (sort @allhours) { #### all the hours $imgurl="$y/$m/$days/$hours"; $hours =~ s/^(\d\d)\.jpg/$1/es; #check valid hour (1=>01) print "$hours\ \ \n"; } closedir(HOUR); print "<\/td><\/tr>\n"; } closedir(DAY); print "<\/table>\n"; !> (с) Стек Разработка Stack web-projects lab.
(с) Стек Разработка Stack web-projects lab.