<1> perl概述
[root@wx03 1]# cat a1.pl
$arr=[1,2,3,4,5,6];
print $arr->[4]."\n";
$hash={a=>1,b=>2,c=>3};
print $hash->{b}."\n";
$sub = sub {return "aaaaaaaaa\n"};
print $sub;
print "\n";
print &$sub;
print "\n"; [root@wx03 1]# perl a1.pl
5
2
CODE(0x251fd20)
aaaaaaaaa 复杂数据结构: [root@wx03 1]# cat a2.pl
$wife{"Jacob"}=["Leah","Rachel","Bilhah","Zilpah"];
print $wife{"Jacob"}->[2]."\n";
[root@wx03 1]# perl a2.pl
Bilhah [root@wx03 1]# cat a3.pl
$kids_of_wife{"Jacob"} = {
"Leah" => ["Reuben", "Simeon", "Levi", "Judah", "Issachar", "Zebulun"],
"Rachel" => ["Joseph", "Benjamin"],
"Bilhah" => ["Dan", "Naphtali"],
"Zilpah" => ["Gad", "Asher"],};
print $kids_of_wife{"Jacob"}->{Rachel}->[1]."\n";
[root@wx03 1]# perl a3.pl
Benjamin [root@wx03 1]# cat t1.pl
$var=5;
$var .=10;
print $var."\n"; [root@wx03 1]# perl t1.pl
510 ///
[root@wx03 1]# cat a5.pl
%grades;
open (GRADES ,test) || die;
while (my $line=<GRADES>){
my ($student,$grade) = split (/\s+/,$line);
$grades{$student} .=$grade ." ";
print $grades{$student}."\n";
}; use Data::Dumper;
$str=Dumper(%grades);
print "\$str is $str\n";
[root@wx03 1]# perl a5.pl
123
123 456
$str is $VAR1 = 'abc';
$VAR2 = '123 456 '; [root@wx03 1]# cat test
abc 123
abc 456 perl 中的真值: 1.除了""和"0"外,所有字符串都为true; 2.除0以外,所有数字都为true; 3.所有引用都为true; 4. 所有未定义值都为false 正则表达式: [root@wx03 1]# cat a7.pl
$var1="a:";
$var2="aa:";
$var3=":";
if ($var1 =~/[a-zA-Z]+:/){print "ok1\n"};
if ($var2 =~/[a-zA-Z]+:/){print "ok2\n"};
if ($var3 =~/[a-zA-Z]+:/){print "ok3\n"};
[root@wx03 1]# perl a7.pl
ok1
ok2
[root@wx03 1]# + 是一个特殊字符,表示"我们前面的内容出现一次或多次" [root@wx03 1]# cat a8.pl
$var1="a";
$var2="a1";
if ($var1 =~/a./){print "ok1\n"};
if ($var2 =~/a./){print "ok2\n"};
[root@wx03 1]# perl a8.pl
ok2 .号表示任意单个字符 [root@wx03 1]# cat a9.pl
$var1="a1";
$var2="1";
$var3="aaa1";
if ( $var1 =~ /a*1/ ){print "ok1\n";};
if ( $var2 =~ /a*1/ ){print "ok2\n";};
if ( $var3 =~ /a*1/ ){print "ok3\n";};
[root@wx03 1]# perl a9.pl
ok1
ok2
ok3 * 表示前面的项出现0次或多次 perl 贪婪匹配: [root@wx03 1]# cat a10.pl
$var="larry:abcdffwrwr:ddad:fsffsf34";
if ( $var =~/(.+:)/){print "\$1 is $1\n";};
if ( $var =~/(.*?:)/){print "\$1 is $1\n";};
[root@wx03 1]# perl a10.pl
$1 is larry:abcdffwrwr:ddad:
$1 is larry: .*? 取消贪婪匹配
<1> perl概述的更多相关文章
- Perl概述
@home = ("couch", "chair", "table", "stove"); 数组 数组.一个数组是多个标 ...
- Perl语言编程(大骆驼)
啰嗦几句 Perl的时代已经过去,现在年轻的同事们基本上都在用Python了.但个人认为单就生物信息文本处理而言,Perl语言是绝对够用的.最主要的是,前辈们搭建的流程大多数是Perl写的,因此,如果 ...
- perl 继承概述
<pre name="code" class="html">[root@wx03 test]# cat Horse.pm package Horse ...
- 【原创】Aspose.Words组件介绍及使用—基本介绍与DOM概述
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 本博客其他.NET开源项目文章目录:http://www.cnbl ...
- 【多端应用开发系列1.1.1 —— Android:使用新浪API V2】服务器Json数据处理——Json数据概述
[前白] 一些基础的东西本系列中就不再详述了,争取尽量写些必不可少的技术要点. 由于本系列把Web Service 构建放到了第二部分,Android项目就采用新浪微博API v2作为服务器端. [原 ...
- Aspose.Words组件介绍及使用—基本介绍与DOM概述
1.基本介绍 Aspose.Words是一个商业.NET类库,可以使得应用程序处理大量的文件任务.Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XP ...
- [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]
第一章 前言与概述 web服务器做什么? 答:接收客户请求,然后向客户返回结果 web客户做什么? 答:此处客户指浏览器,web客户允许用户请求服务器上的某个资源,并向用户展现请求的结果. html ...
- 2.Perl基础系列之入门
官网提供的入门链接:http://perldoc.perl.org/perlintro.html 语法概述 Perl的安装步骤省略,直接去官网下载并按照提示安装即可. 如果Perl安装没问题,那么运行 ...
- perl5 第一章 概述
第一章 概述 by flamephoenix 一.Perl是什么?二.Perl在哪里?三.运行四.注释 一.Perl是什么? Perl是Practical Extraction and Re ...
随机推荐
- poj3070
矩阵第一题.也是矩阵的模板题.下面是模板. 比较重要的是,矩阵的乘法会有很多很神奇的用法.比如如下几个网站所讲. http://www.matrix67.com/blog/archives/276 ...
- [转]组合数取模 Lucas定理
对于C(n, m) mod p.这里的n,m,p(p为素数)都很大的情况.就不能再用C(n, m) = C(n - 1,m) + C(n - 1, m - 1)的公式递推了. 这里用到Lusac定理 ...
- 生成pdf文件
- Delphi_MemoryModule — load DLL from memory. Also includes hooking utilities.
https://github.com/Fr0sT-Brutal/Delphi_MemoryModule
- Maven创建项目: Failed to execute goal org.apache.maven.plugin( mvn archetype:create)
一.概述: 在使用mvn 命令mvn archetype:create -DgroupId=com.chuanliu.c11 -DartifactId=c11searcher在控制创建maven项目和 ...
- 数论(容斥原理)hdu-4509-The Boss on Mars
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4059 题目大意: 给一个n,求1~n中与n互质的数的4次方的总和. 解题思路: 容斥原理.逆元.公式 ...
- (step7.2.3)hdu 2554(N对数的排列问题——简单数论)
题目大意:输入一个整数n,表示有n对整数.判断能否出现一种情况就是2个1之间有1个数,2个2之间有2个数..... 解题思路: 准备知识: ①n对数,共2*n个数.所以要有2*n个位置来放置这2*n个 ...
- C Primer Plus 读书笔记之C基础回顾
目标代码文件.可执行文件和库 C编程的基本策略是使用程序将源代码文件转换为可执行文件,此文件包含可以运行的机器语言代码.C分两步完成这一工作:编译和链接.编译器将源代码转换为中间代码,链接器将此中间代 ...
- 面向对象(类,实例变量,方法定义,方法重载,构造方法,this,string类)
面向对象 类是由属性和方法组成 类是所有创建对象的模板 实例变量有默认值 实例变量至少在本类范围中有效 实例变量与局部变量冲突时,局部变量优先 类中方法定义类似于函数定义 修饰符 返回值类型 方法名( ...
- python读取文件内容方法
1) readline 每次读一行,返回序列 2) readlines 一次全部读出,返回序列 3) numpy 的genfromtxt,返回为np的矩阵格式 import numpy as np f ...