headermask image

header image

category archive listing Category Archives: Perl

3 Tips in Perl Programming

1. 获取当前时间
Perl 有一个函数 localtime 可以用来实现这个功能。在具体使用的过程中需要注意的是,它返回的月份数值是以 0 为基准的,而年份数值是在减掉 1900 之后的值,所以很多时候都需要进行相应的调整:

?View Code PERL# construct log file name
my ($sec, $min, $hour, $day, $month, $year) = (localtime) [0, 1, 2, 3, 4, 5];
$month = $month + 1;
$year = $year + 1900;
 
my $local_node;
$local_node = qx{hostname};
chomp $local_node;
 
my $filename = sprintf("%04d%02d%02d%02d%02d%02d", $year, $month, $day, $hour, $min, $sec);
$filename = "kill_crsd_" . $local_node . [...]

The Perl Debugger

今天同事老铁问了我几个关于 Perl 的编程的小问题,包括 @ARGV 和 Getopt::Long 的使用。其间还使用到了 Perl 自带的 debugger,其实这个工具我也不是第一次使用了,但是平时用得少,印象中存留的就剩下 s 和 x 命令了。在调试一个对 Getopt::Long::GetOptions 的调用的时候,用 s 进入了函数的内部半天没有能够出来,后来 Google 了一下,找到了一个 Perl Debugger Quick Reference Card 的 PDF 文档,用 r 命令快速地来到了 GetOptions 的结尾。
另外,这篇文章是我第一次尝试使用 ScribeFire 这个 FireFox 插件来写 Blog,顺便试试能不能同步到 jarodwang.cn 上面去。