1. 语法与数据结构###

#嵌套哈希的赋值和取值
$HashTable{$key} = [@Array] #这个是赋值
@Array = @{ $HashTable{$key} } # 这个是取值
#Perl 按照哈希值排序
#如果是按ASCII码(字符串)排序,则代码如下:
foreach my $key ( sort { $hash{$a} cmp $hash{$b} } keys %hash ) {
my $value = $hash{$key};
# do something with ($key, $value)4 }
#如果是按数字大小排列,则代码如下:
foreach my $key ( sort { $hash{$a} <=> $hash{$b} } keys %hash ) {
my $value = $hash{$key};
# do something

2. 时间和字符串###

  • 获取系统时间,按格式化字符串输出
   use Time::Local;
my $timestamp=time;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($timestamp);
my $y = $year + 1900;
my $m = $mon + 1;
#输出
print sprintf("%04d%02d%02d%02d",$y,$m,$mday,$hour);

3. 文件和目录操作###

# 获取本程序的文件名、路径和后缀名
use File::Basename;
my ($myFile,$myPath,$mySuffix) = fileparse($0,qr{.pl}); # 获取文件夹下文件列表
my $RootDir = "E:/Research/IMSTB/20110408/";
my @files=glob("$RootDir"."*.xls"); # 判断一个文件or目录是否存在
(-e $dirReport) or die "文件路径不存在!\n"; #复制文件
use File::Copy ;
if( -e $fpath) {
# 复制文件
copy($fpath,$rootDir."/data") or warn "Could not copy files\n";
}else {
die "$fpath not found! $!\n";
}

4. 函数###

  • 实现动态函数名
   my %h_sub;
$h_sub{MSCHO} = \&mscho;
$h_sub{MAPHO} = \&mapho;
#调用
do $h_sub{$tidx}->($para);

5. 文件读写###

  • 一次性读取文本文件所有内容
   my @alarm_tmp = <IH0>;
$alarm_text{$tidx} = \@alarm_tmp;

6. 系统与环境###

#Perl 获取Windows当前登录的用户名
use Win32;
$username = Win32::LoginName();
print "User name: $username\n";

创建于:2014.06.27

最后更新:2015.01.24

PERL代码摘录的更多相关文章

  1. 在eclipse中运行perl代码,需要配置的插件以及方法

    Eclipse配置正则表达式 网址:http://www.cnblogs.com/itech/archive/2010/02/23/1671676.html perl的环境配置以及在Eclipse中安 ...

  2. 在vi中使用perltidy格式化perl代码

    格式优美的perl代码不但让人赏心悦目,并且能够方便阅读. perltidy的是sourceforge的一个小项目,在我们写完乱七八糟的代码后,他能像变魔术一样把代码整理得漂美丽亮,快来体验一下吧!! ...

  3. 在vim中使用perltidy美化perl代码

    来源: http://www.cnblogs.com/itech/archive/2013/02/18/2915279.html 格式优美的perl代码不但让人赏心悦目,而且可以方便阅读. perlt ...

  4. PERL高效代码摘录 - 数组

    1. 2个数组找不同 ,,,,,,); ,); %seen=(); foreach(@a_hast_g){ ; } @unique=grep($seen{$_},@a_cl_g); } map { $ ...

  5. wndows程序设计之书籍知识与代码摘录-封装一个类似printf的messagebox

    //----------------------------------------- //本程序展示了如何实现MessageBoxPrintf函数 //本函数能像printf那样格式化输出 //摘录 ...

  6. wndows程序设计之书籍知识与代码摘录-获取视屏显示器像素等参数GetsystemMetrics

    以下的代码段用于获取视屏显示器的高度宽度,以像素为单位. int sxScreen, cyScreen; cxScreen = GetSystemMetrics (SM_CXSCREEN); cySc ...

  7. perl代码调试

    perl调试教程 一.DESCRIPTIONA (very) lightweight introduction in the use of the perl debugger, and a point ...

  8. 使用B::Deparse模块对perl代码反汇编

    Perl用很多默认操作和习惯用法,如果对某些代码不确定,perl编译器的真实理解方式,可以用Deparse模块反汇编看一下. 比如下面代码: while(<STDIN>){ print & ...

  9. PYTHON代码摘录

    文件处理 #典型的读取文件代码 row_data = {} with open('PaceData.csv') as paces: column_heading = paces.readline(). ...

随机推荐

  1. android学习日记13--数据存储之File存储

    4.文件存储File File即传统的I/O 流存储文件,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的 ...

  2. [原创]javascript prototype 对象 函数 <精简的美丽......>

    精简的美丽...... javascript prototype 对象 函数 在javascript中我们都知道创建一个对象使用如下代码var x = {}对象可以拥有属性和方法var x = {   ...

  3. [Effective C++ --025]考虑写出一个不抛异常的swap函数

    引言 在我的上一篇博客中,讲述了swap函数. 原本swap只是STL的一部分,而后成为异常安全性编程的脊柱,以及用来处理自我赋值可能性. 一.swap函数 标准库的swap函数如下: namespa ...

  4. [置顶] 博客已迁移至ryantang.me

    大家好,感谢大家一直以来的支持,本博客内容已停止更新,新内容将发布到我的新博客,地址是:ryantang.me,欢迎大家继续支持,我会在ryantang.me上发布内容更丰富的文章内容,谢谢! Rya ...

  5. OpenCms Application dev-ref

    OpenCms Application Overview Before undertaking development, it will be helpful to understand the ba ...

  6. nginx---reference

    nginx (pronounced "engine x") is a free open source web server written by Igor Sysoev, a R ...

  7. 多系统通讯-DotNetMQ

    很久都没有写博客了,从15年4月份一直忙到现在,我才有时间去做梳理和总结,因为我提离职了,感觉整个世界突然变得不一样,随着而来的就是心情的放松,写一篇文章也是对过去一年多工作的梳理,加深印象 积累和沉 ...

  8. Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    1.kill掉列出的进程: [root@localhost mysql]# ps -a | grep -i mysql pts/ :: mysqld_safe pts/ :: mysqld <d ...

  9. div居中的三种方法

    方法1: #div1{ width:200px; height:200px; background:green; position:absolute; left:0; top:0; right:0; ...

  10. 一致性Hash算法及使用场景

    一.问题产生背景      在使用分布式对数据进行存储时,经常会碰到需要新增节点来满足业务快速增长的需求.然而在新增节点时,如果处理不善会导致所有的数据重新分片,这对于某些系统来说可能是灾难性的. 那 ...