Perl 学习笔记

  • 安装

在linux上,如果遇到这样的提示

Can't locate Module/Datetime.pm in @INC 

意味着Perl模块没有安装全, 可以用CPAN来安装缺失的模块

# perl -MCPAN -e- 'install Module::Build'

 

如果系统上很多模块都已经很旧了,用这个命令来自动更新

# /usr/local/bin/perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'

 

在Windows上,则可以用Active Perl 工具: PPM, 检测已安装的perl工具包

 

  • CPAN

CPAN 是全面Perl 归档网络(Comprehensive PerlArchive Network)的缩写,那是一个值得常去的地方。这里有Perl 源码,
容易安装到非类Unix 系统的Perl,例子,文档,Perl 扩展部分,Perl 归档信息等。简言之,CPAN 是全面的。

  • 使用模块

use File::Basename;

 

  • print

print F $line;

将$line写入文件F,添加到F尾部,而不会清除掉F原有内容。

 

e.g.

my $creTableFile =  $dirName . "1.txt";
my $line = ();

$line .= "nice to meet you";

open (F, ">>$creTableFile") or die "ERROR: cant open file $creTableFile>($!)/n";
                print F $line;
                close F;

如果 <> 括号之间没有任何字符,则表示从命令行所指示的文件中读取数据

 

  • 变量

Scalar:标量,数字或字符串,$a="wang"

List: 数组,@a=("wang",123,99.99),     $test=$a[1]

hashes: 哈希/关联数组,%a=(one,"wang",two,"jason"),   $test=$a{one}

  • chomp

如果字符串结尾有换行符,chomp可以去掉它。这基本上就是它能完成的所有功能,如下例:
$text = “a line of text\n”; #也可以由<STDIN>输入chomp($text); #去掉换行符(\n)。

  • $_

如果在foreach 循环中省略了控制变量,那Perl 会使用其默认的变量:$_。除了其不寻常的名字外,这和普通变量类似,如
下面代码所示:
foreach(1..10){                 #使用默认的变量$_
print “I can count to $_!\n”;
}

  • @_

Perl 子程序可以带参数。将参数列表传给子程序中的方法是,在程序名后面接括号,括号内存放参数列表,如:
$n = &max(10,15);                 #此子程序有2 个参数
此参数列表被传到子程序中;这些参数可以被子程序使用。当然,这些参存放在某个地方,在Perl 中,会自动将此参数列表(此参数列表的另一个名字)自动存放在一个叫做@_的数组中。

  • <>

<>操作查看@argv 来决定使用哪些文件。如果表为空,则使用标准输入流;否则,使用其找到的相应文件。

 

  • Perl 自身有六个文件句柄:STDIN,STDOUT,STDERR,DATA,ARGV,ARGVOUT
  • 文件操作

打开文件

open (FILE, $filename) || die “Can’t open $filename\n”;
while($line =  <FILE> )

{

print "$line";

}

close(FILE);

 

删除文件

unlink("abc.txt");

 

目录操作

opendir

closedir

mkdir

 

  • 正则表达式

匹配:   m/<pattern>/       m可以略去。末尾可带参数i,表示不区分大小写

替换(search and replace): s/<pattern>/<replacement>/          末尾可带参数g,表是全局替换。

 

=~     表是匹配

!~      表是不匹配

 

  • 系统函数

system“date”

system ‘ls–l $HOME’

my $now = `date`; #捕获date 的输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值