当前位置: 代码迷 >> 综合 >> Perl 脚本中使用ls 获取目录名或文件名注意事项
  详细解决方案

Perl 脚本中使用ls 获取目录名或文件名注意事项

热度:39   发布时间:2023-12-06 14:29:08.0

                     如果没有设置,获取有可能导致命令行下用ls -l 执行的结果和在perl 中执行的结果时间显示不一致,导致获取文件名或目录失败。

如:

在shell 中执行ls 命令显示如下格式:

drwxr-xr-x 6 root root 4096 06-02 19:57 1234

在perl 中ls -l 则显示如下的格式:

drwxr-xr-x 6 root root 4096 Jun  2 19:57 1234

为了避免截取错误,可以在ls -l 的时候加上时间格式限制:

ls -l --time-style=long-iso

显示如下:

drwxr-xr-x 6 root root 4096 2012-06-02 19:57 1234

 

 

perl 中修改时区的方法:

#!/usr/bin/perl
use strict;
use warnings;
use POSIX qw(tzset);
 
#获取服务器默认时间
my $was = localtime;
print "服务器默认时间: $was <br />";
#设置时区为东八区,中 国标准时间
$ENV{TZ} = 'Asia/Shanghai';
tzset;
#获取中国标准时间
my $now = localtime;
print "中国标准时间:$now<br />";
 
执行结果如下:
 
服务器默认时间: Sat Jun 9 11:01:19 2012 
中国标准时间:Sun Jun 10 00:01:19 2012