• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Perl:文件操作、my、时间转换、日志监控

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

①文件操作

使用Perl从文件中读取字符串,一般有两种方法:
1. 一次性将文件中的所有内容读入一个数组中(该方法适合小文件):

open(FILE,"filename")||die"can not open the file: $!";
@filelist=<FILE>;

foreach $eachline (@filelist) {
chomp $eachline;
}
close FILE;

当文件很大时,可能会出现"out of memory"错误,这是可以采用如下方法,一次读取一行。

2. 一次从文件中读取一行,一行行地读取和处理(读取大文件时比较方便):

open(FILE,"filename")||die"can not open the file: $!";

while (defined ($eachline =<FILE>)) {
chomp $eachline;
# do what u want here!
}
close FILE;

②our、my、local的区别

http://www.cppblog.com/converse/archive/2008/07/31/57636.html

http://topic.csdn.net/t/20000223/18/2737.html

our:全局变量定义,如果在函数里定义的时候全局已经定义,则相当于引用全局变量;(全部访问:上级,当前,下级)

local:把全局变量局部化(等于是局部的全局变量);局部化后所有由此局部引出的这个变量的修改,都只影响到该局部为止。(访问:当前,下级)

my:真正的局部变量,该变量仅在此局部中有效,在子过程中无效。(访问:当前)

 

③时间的转换(日常所用的日期和时间串格式 与 纪元秒 之间的转换)

纪元to日常:$common = localtime(time); # 秒,分,时, 日,月,年,一周第几天,一年第几天,夏令时

日常to纪元:$epoch_seconds = timelocal($s,$m,$h,$mday,$mon,$year);

http://muent.com/a/develop/AllDL/201004303575.html

 

④日志监控

模拟写日志:

use IO::Handle;
open (FD, "> test.log") or die $!;
FD
->autoflush(1);
while (1) {
my $now = time;
print FD $now, "\n";
sleep 1;
}
close FD;

模拟监控日志:

open (FD, "< test.log") or die $!;
while (1) {
my $in = <FD>;
print $in;
}
close FD;

小刁提醒:读入时可以写为 "< tail -f test.log |"

 

⑤子过程

http://blog.csdn.net/aldenphy/archive/2009/11/03/4761585.aspx


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
4-Perl数据类型发布时间:2022-07-22
下一篇:
功能丰富的Perl:轻松调试Perl的技巧发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap