加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl获取当前环境

发布时间:2020-12-16 00:23:10 所属栏目:大数据 来源:网络整理
导读:? 在perl中获取当前登陆的用户名,要求在windows和linux下都可用.通过读取系统的环境变量实现,在xp和linux下测试通过,代码如下: ? my ?$Sys_name = $^O; if ($Sys_name =~ /MSWin32/){ ? ?print $ENV{'USERNAME'},"n"; } else { ??? ?if($Sys_name =~ /linu
? 在perl中获取当前登陆的用户名,要求在windows和linux下都可用.通过读取系统的环境变量实现,在xp和linux下测试通过,代码如下:
?
my ?$Sys_name = $^O;
if ($Sys_name =~ /MSWin32/){
? ?print $ENV{'USERNAME'},"n";
}
else {
??? ?if($Sys_name =~ /linux/){
???????? ?print $ENV{'USER'},"n";
?????}
?? ?else
?? ?{
??????? ?print "Unknown";
??? ?}
}
?
?

本文出自 “rainbird” 博客,请务必保留此出处http://www.voidcn.com/article/p-wagxaanq-vm.html

获取主机名

my $hostname = `hostname`;

获取当前路径
perl中获取当前路径有两种方法:
1、使用CWD包

use Cwd;
print getcwd;
2、使用环境变量
print $ENV{'PWD'}

我更倾向于使用环境变量,这样不会引入额外的包

?

Perl获取当前系统时间
Perl?2010-12-06?10:41:57?阅读236?评论0???字号:大中小?订阅

perl有两个取得时间的函数:localtime和gmtime

两个函数的用法一样,区别在于localtime为取得本地时间,?gmtime格林威治时间。

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)?=?localtime(time);

其中:
????$sec代表秒数[0,59]
????$min代表分数[0,59]
????$hour代表小时数[0,23]
????$mday代表是在这个月的第几天[1,31]
????$mon代表月数[0,11],要将$mon加1之后,才能符合实际情况。
????$year从1900年算起的年数,所以要获得当前年就需要在$year的基础上加上1900
????$wday从星期六算起,代表是在这周中的第几天[0-6]
????$yday从一月一日算起,代表是在这年中的第几天[0,364]
????$isdst只是一个flag

下面是一个获取当前系统时间的子函数:

sub?getTime
{
???#time()函数返回从1970年1月1日起累计秒数
????my?$time?=?shift?||?time();
???
????my?($sec,$isdst)?=?localtime($time);
???
????$mon?++;
????$sec??=?($sec<10)?"0$sec":$sec;#秒数[0,59]
????$min??=?($min<10)?"0$min":$min;#分数[0,59]
????$hour?=?($hour<10)?"0$hour":$hour;#小时数[0,23]
????$mday?=?($mday<10)?"0$mday":$mday;#这个月的第几天[1,31]
????$mon??=?($mon<9)?"0".($mon+1):$mon;#月数[0,要将$mon加1之后,才能符合实际情况。
????$year+=1900;#从1900年算起的年数
???
????#$wday从星期六算起,代表是在这周中的第几天[0-6]
????#$yday从一月一日算起,代表是在这年中的第几天[0,364]
??#?$isdst只是一个flag
????my?$weekday?=?('Sun','Mon','Tue','Wed','Thu','Fri','Sat')[$wday];
????return?{?'second'?=>?$sec,
?????????????'minute'?=>?$min,
?????????????'hour'???=>?$hour,
?????????????'day'????=>?$mday,
?????????????'month'??=>?$mon,
?????????????'year'???=>?$year,
?????????????'weekNo'?=>?$wday,
?????????????'wday'???=>?$weekday,
?????????????'yday'???=>?$yday,
?????????????'date'???=>?"$year$mon$mday"
??????????};
}

通过下面的方法调用:

my?$date?=?&getTime();#获取当前系统时间的Hash
my?$ymd?=?$date->{date};#获取yyyymmdd这样的日期?
my?$year=$date->{year};#获取年
my?$month=$date->{month};#获取月
my?$day=$date->{day};#获取日
转:http://blog.csdn.net/linfengfeiye/article/details/7055483

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读