如何在perl中找到给定日期的上一个日期为8月17日.我可以使用下面的代码获取perl中的当前日期.可以帮助我找到给定日期的上一个日期.
Given date as : Aug 17
Required Date as : Aug 16
#Reverting the Date for the respective TimeZone
my $timezone='london';
my ($dt, $Curr_Bus_Date,$Curr_day);
$dt = DateTime->now(time_zone => $timezone);
$Curr_mon=$dt->strftime('%b');
$Curr_date=$dt->strftime('%d');
$Curr_date=~s/^0/ /;
$Curr_dt="$Curr_mon $Curr_date ";
print "The curr date is $Curr_dt \n";
Run Code Online (Sandbox Code Playgroud) 当我尝试运行我的Perl脚本时,它会成功执行.后来,当我运行这个命令时echo %errorlevel%,它给出了输出为1.为什么?
我想从输出的文件名ls -lrt,但我无法找到文件名.我使用下面的命令,但它不起作用.
$cmd=' -rw-r--r-- 1 admin u19530 3506 Aug 7 03:34 sla.20120807033424.log';
my $result=`cut -d, -f9 $cmd`;
print "The file name is $result\n";
Run Code Online (Sandbox Code Playgroud)
结果是空白的.我需要文件名为sla.20120807033424.log
到目前为止,我已经尝试了下面的代码,它适用于文件名.
#!/usr/bin/perl
my $dir = <dir path>;
opendir (my $DH, $dir) or die "Error opening $dir: $!";
my %files = map { $_ => (stat("$dir/$_"))[9] } grep(! /^\.\.?$/, readdir($DH));
closedir($DH);
my @sorted_files = sort { $files{$b} <=> $files{$a} } (keys %files);
print "the file is $sorted_files[0] \n";
Run Code Online (Sandbox Code Playgroud) 如何在Perl中获取文件的最后修改日期?
我能够获取最后修改过的文件,但是我需要使用Perl从目录中获取相同日期的文件.我有解决方案在Stack Overflow问题中获取最后一个修改过的文件如何在Perl中找到/剪切ls -lrt输出中的文件名.
但是如何获取ls -lrt最新日期而不是时间的输出?