初学perl
来源:互联网 发布:委内瑞拉经济危机知乎 编辑:程序博客网 时间:2024/05/19 22:45
以前接触过perl一段时间,没用过,现在全忘了。刚又看了下perl,把基本知识总结一下:
1.单数变量用$前缀,数组用@前缀
定义数组:
@aray = (1, '2', $var);
$aray[4] = "ds";
2.可以数组交换赋值 ($a, $b) = ($b, $a);
3.复数变量包括数组和散列,数组是有序的,散列是无序的
4.散列用%前缀
定义散列:
%hash = ("mon" => "monday", "sun" => "sunday");
或者%hash = ("mon", "monday", "sun", "sunday");
$hash{"thu"} = "thusday";
取值:
$hash{"mon"}
5.复杂数据结构;
散列中的数组:$wife{"you"} = ["wife1", "wife2", "wife3"];
访问:$wife{"you"}[0];
散列中的散列中的数组:$wife{"you"} = {"wife1" => ["child1", "child2"], "wife2" => ["child3", "child4"};
访问:$wife{"you"}("wife1"}[0];
6.函数:
调用用户自定义函数的时候,前面可以加&也可以不加:$returnValue = &getUser();或者$returnValue = getUser();
7.标准输入输出: <STDIN> <STDOUT>
$var = <stdin> 等待用户输入
8.操作符:
+ 数字相加
. 字符串连接
** 幂运算 2 ** 3为2的3次幂
* 乘法
x 重复 ‘a’x3 则a重复三次
9.任何过程都拥有返回值,所以可以在一个语句中多次改变同一个变量的值
比如: ($temp -= 32) *= 5/9;
10.文件测试操作符:
-e 存在
-r 可读
-w 可写
-d 目录
-f 文件
-T 文本文件
11.判断:
if(){}elsif(){}else{} 必须有大括号
unless(){}如果不是这样则执行括号中的语句
12.循环:
while(){}为真则执行
until(){}为假则执行
for(){}for循环
foreach $v (@array) foreach循环
last和next 控制跳出循环:(例子)
Line:foreach $a (@array){
next Line if $a eq 1;
last Line if $a == 2;
}
13.正则表达式:
*在缺省状态下,Perl 量词都是贪婪的,也就是他们将尽可能多地匹配一个字符串中最大数量的字符
while ($line = <FILE>) {
if ($line =~ /http:/) { # 符号=~ 是模式绑定操作符
print $line;
}
}
和
while (<FILE>) {
print if /http:/;
}是一样的效果。
*最小匹配:/.*?:/ 加上问号?就表示是非贪婪匹配,取尽量小的字符串
/b 单词边界
^和$匹配行首和行尾
- 初学perl
- perl初学
- perl初学
- 初学perl
- Perl 初学指南
- 初学Perl中的几个困惑
- 初学Perl 用Perl解决了自己的小问题
- Notes from PERL beginner-初学1
- 初学perl一些经验总结,不对的地方还请指正
- 初学正则表达式2(在Perl下使用)
- perl
- Perl
- perl
- perl
- Perl
- perl
- perl
- perl
- DrawText显示中文的乱码问题
- 如何自己建网站
- 错误823解决办法
- 读取配置文件中的信息
- (转)规范化编程:ANSI和UNICODE的使用
- 初学perl
- SQL Server 安装问题:以前的某个程序安装已在安装计算机上创建挂起的文件操作
- Java正则表达式详解
- SQL SERVER事务处理
- 常用正则表达式
- 在Linux系统下如何增加用户[全]
- 查询数据库所有表的记录数
- JSON 入门指南
- Web.config中设置同时访问不同的数据库