perl 语言学习总结
.#!/usr/bin/perl -w 内建警告信息,Perl发出警告
.字符串 . 连接符
.重复次数 "fred" x
.字符串与数字之间的自动转换
.$变量 赋值 $fred =; + += *= .= not and or xor
.print 输出
.比较字符 数值 == != < > <= >=
字符串 eq ne lt gt le ge
. if($i < ){}else{} while(){}
.chomp 去除字符串尾的一个换行符
.数组 未初始化的数组值为undef
$#i表示最后一个元素的索引值 支持负数索引 最后一个为-1
.qw 简写,省掉列表中的 , qw( )
.@ all of the 数组的全部
@rocks=qw/ /
@tiny = ( );
@gint = ..1e5
@ee = ‘qwwewe’
.pop和push 操作数组的最后一个元素 pop @array push(@array,)
shift 和unshift 操作第一个元素
.foreach $rock(@rock){}
.$_老地方
.reverse(@fred) sort(@rock)
,。强制上下文 scalar @rock
.@lines = <STDIN>;
.子程序 sub关键字
eg:定义 sub fun{
$n+=;
print "hello";
&n;//最后一次运算结果为返回值
}
调用 &fun; 可以省略&号
print 语句的返回值为1,表示输出成功
函数参数:
$n = &max(,);
sub max{
if($_[]>$_[]){
$_[];
}else{
$_[];
}
} .my 定义私有词法变量 @_全局变量
my 不使用括号时,只用来声明单个词法变量
sub max{
my($m,$n);
($m,$n) = @_;//将保存在@_中的参数赋值给具体变量
if($m>$n){$m} else{$n}
} if(@_ != ) 元素个数小于2 ??? 适应任意参数的max程序
sub max{
my($myx_so_far) = shift @_;
foreach(@_){
if($_ >$max_so_far){
$max_so_far = $_;
}
}
$max_so_far;
} 对于空参数返回undef
所有新变量一开始都是空的,标量被设为undef,数组被设为空列表
.use strict 编译命令 让Perl更严格一些
要求一定要用my来声明每个新的变量
. return 子程序立即返回
. state 静态变量
.输入输出
while(defined($line=<STDIN>)){
print "I saw $line";
}
<>钻石操作 从用户指定的位置读取。
while(<>){
chomp;
print "$_";
}
.@ARGV 命令行参数
.copy("a","b") 将a拷贝成b
.truncate (filename, length);
将文件的长度减少到length字节。如果文件长度已经小于length,则不做任何事
.seek (file,dis,relative_to) 文件中移动 relative( 开头, 当前,2末尾)
.print 文件写入字符串
.unlink (filelist) 删除文件
.open
:读:open(文件句柄,"<文件名")/open(文件句柄,"文件名"),前提文件必须已经存在,否则会返回0,出错信息在$!中。
:写:open(文件句柄,">文件名"),文件如果不存在,那么创建之,如果存在,内容被清空,长度截为0,$!中有出错信息。
:追加:open(文件句柄,">>文件名"),基本同写,但有一点,文件中的内容不会被清空,新的内容会追加到原文后面。
:读写:open(文件句柄,"+<文件名"),通过“+<”模式,你可以既可以读文件,又可以写文件。你可以通过tell() 函数在文件内部移动,通过seek()函数进行定位。如果文件不存在,就会被创建。如果文件已经存在,原来的数据不会被清除。
open(文件句柄,"+>文件名"),通过“+》”模式,可以同时读写文件,但与上面不同的是,它是破怀性写,会清除原来的内容。
例子:
my $conf = "D:/test.txt"; if(-e $conf) #判断文件是否存在
{
open(FILE, "<$conf") or die("No such file"); while($LINE = <FILE>) #读取文件
{
print $LINE;
push(@del,$LINE);
}
close(FILE);
perl 语言学习总结的更多相关文章
- Perl语言学习笔记 15 智能匹配与give-when结构
1.智能匹配操作符 替代绑定操作符: 在哈希中查找某一个键: 比較两个数组是否全然同样: 查找列表中是否存在某个元素: 智能匹配操作符与顺序无关.~~ 左右元素能够互换 2.智能操作符优先级 3.gi ...
- Perl语言学习笔记 9 正则表达式处理文本
1.更换 s/PATTERN/REPLACE/; #返回是否更换成功布尔值 能够使用捕获变量,如:s/(\w)/$1/ 匹配失败则不做不论什么处理 2.定界符 对于没有左右之分的定界符.反复三次就可以 ...
- Perl语言
Perl是高级.通用.直译式.动态的程序语言家族.最初设计者拉里·沃尔(Larry Wall)为了让在UNIX上进行报表处理的工作变得更方便,决定开发一个通用的脚本语言,而在1987年12月18日发表 ...
- perl语言书籍教程推荐
互动出版网计算机频道.为您推荐关于perl语言的书籍教程.包括perl push.perl chomp以及perl python等perl语言内容. perl语言书籍一.<Perl语言编程 第四 ...
- 边看MHA源码边学Perl语言之一开篇
边看MHA源码边学Perl语言之一开篇 自我简介 先简单介绍一下自己,到目前为此我已经做了7年左右的JAVA和3年左右php开发与管理,做java时主要开发物流行业的相关软件,对台湾快递,国际快递,国 ...
- C语言学习建议!8年编程开发经验
C语言是几乎所有编程语言的先驱与灵感的来源,Perl,PHP,Python和Ruby都是用它写的,同样什么Microsoft Windows,Mac OS X,还有GNU/Linu这些操作系统,都是靠 ...
- C语言学习 第八次作业总结
本次作业其实没有新的内容,主要就是复习上一次的一维数组的相关内容.冯老师布置了5道题目,其中涉及到一些比较简单的排序或者是查找的方法.因为数据很少,所以直接使用for循环遍历就可以了. 关于本次作业, ...
- C语言学习 第七次作业总结
C语言学习 第七次作业总结 数组可以分为数组和多下标数组(在传统的国内C语言书本中,将其称为二/多维数组). 数组名称 在之前的课程中,大家应该都有印象,对于int a这样的定义,会为变量 a 声明一 ...
- 技能收获与C语言学习
你有什么技能比大多人(超过90%以上)更好? 我会的东西很多,喜欢的东西太多,但是很遗憾广而不专,会而不精.学了很多东西我都是为了娱乐,因为以前我们那里过于强调学习,很多爱好也都被扼杀在摇篮里.我觉得 ...
随机推荐
- 我的IT之路
在写这篇文章的时候内心是无比激动,因为这辈子是注定和IT打交道了. 都说大学时光是美好的,但却只有到了大四才知道时间是短暂的,也许和许多人一样,我的大学主要时光是在游戏中度过,1000多把的寒冰算是同 ...
- 小白学习python之路(一):安装python3
引言 作为一个python小白,之前学的是java,不过听说python很流行,功能很强大,可以用很少的代码实现更强的功能,因此我也是被吸引了过来,并且把我的学习经历记录下来. 当然了,要学习 ...
- 模拟struts2
利用到的技术:dom4j和xpath 自己写一个Filter 在doFilter中拦截请求 // 2.1 得到请求资源路径 String uri = request.getReq ...
- 扒一扒P2P风控的底牌(转)
互联网金融,这里面水就太深了,能当理财买的一般有两类,一个是货币基金,比如余额宝,这个大家已经十分清楚了,没什么风险, 但问题就是收益越来越低.实在是不过瘾了.而另外一种就是P2P理财了,收益很高,也 ...
- 多媒体开发之rtp打包---打包中的FU-A分包方式说明
继上篇rtp中的时间戳和负载类型之后,升入到了nalu的分片打包问题,这里做下笔记 (1)fu-a的打包格式 1.基于RTP协议的打包及解包 (1)单个NAL打包 H.264NALU单元常由[star ...
- 百思不得姐之"我的"模块功能(六)
一 功能图和知识点 1 功能图部分:(因为网速的原因,网页部分没有载入出来,可是功能完善) 2 该部分能学到的知识点概括: >1 UITableView的使用(简单) >2 UIColle ...
- MongoDB学习笔记<六>
继续mongoDB的学习 --索引具体解释 --索引管理 --空间索引 1.创建简单索引 (1)先准备20万条数据 for(var i = 0;i< 200000;i++){ db.books. ...
- 37、pendingIntent 点击通知栏进入页面
转载: http://blog.csdn.net/yuzhiboyi/article/details/8484771 https://my.oschina.net/youranhongcha/blog ...
- python 基础 1.2--pycharm 的安装及使用
一. windows 先安装pycharm. PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,其提供了一个带编码补全,代码片段,支持代码折 ...
- android菜鸟学习笔记11----Intent的两点补充
关于Intent的两点补充: 1.隐式Intent启动组件,会有一个Intent解析的过程,若找不到能够处理该Intent的组件,程序就会异常终止.一个合理的做法是,在使用Intent实例启动组件如: ...