设为首页 收藏本站
查看: 1272|回复: 0

[经验分享] PERL简记

[复制链接]

尚未签到

发表于 2017-5-16 12:29:38 | 显示全部楼层 |阅读模式
记下一点文字,为自己曾经所学留一点点痕迹。
 
 
PERL很强大,支持多平台,,,&%$^&*(&^%。
现在使用的基本是都是版本5。
很简单易学的:
 
主要内容安排如下:
一,PERL的基本知识


  • 看看官方文章,写写Hello Perl,基本就可以开始学习了。
  • PERL的变量  


        •  $ 单变量:声明,赋值
        • @数组变量  :声明,空,数字,字符串,混合,赋值,指定某几个元素赋值;
        • $"数组输出特殊分隔符号变量:输出分隔符
        • %哈希变量:





  • PERL的操作符号


      • 加、减、乖、除、模、幂、加加、减减
      • AND(&&)、OR(||)、NOT(!)
      • 二进制的 与&、或|、非!、与或^、与非、左移<<、右移>>
      • 数字关系符号:等于==、不等于!=、大于、小于、大于等于、小于等于、比较<=>返回1(左大右),0(左等右),-1(左小右)
      • 字符串也能比较:大于gt、小于lt、大于等于ge、小于等于le、比较cmp 返回1(左大右),0(左等右),-1(左小右)
      • 条件取值:   CONDITION-PART ? TRUE-PART : FALSE-PART
      • 字符串符号:连接符号点(.)、重复串符号x(x) 后面跟数字表示重复的次数。
      • 范围符号:二个点(..),二点左右的可以是数字,也可以是字符。



# "$"符号表示单变量
#var Number and String
print "demo of  Number and String   ";
$number = 20;
$str = "Real Number is  "  ;
print ("$str $number .\n");

# "@”符号表示数组变量
# " $" "符号是特殊变量
# var Array
print "demo of  Array   ";
$line = 0;
@emptyArray = ();          #表示空数组
@numberArray = (1..15);   #表示1到15的数字,可以连续的二个点代替中间的数字,三个点也行
@stringArray = ("string1\,","string2\,","string3\.");  #表示字符串数组
@mixedArray =("stringy\,","stringx\,",3,5);   #表示混合的数组
print "here is and empty array:".@emptyArry. "nothing here. \n";
print ("Print array in single line @numberArray"); print "\n";
$" = ",";                   #如果输出数组中间的符号想变化一下,用 $" 进行设置
print ("@numberArray"); print "\n";
foreach (@numberArray){
print ($numberArray[$line]);       #使用数组时,"$"符号代替"@"符号
print "\n";
$line = $line +1 ;
};
# "%"符号表示哈希变量
%ages = ('zhao' => 28,
'qian' => 35,
'sun' => 29,
'li' =>99,);
print ( uc(li).. " is $ages{li} years old\n");


  • 函数


      • 函数声明:sub 函数名
      • 函数变量:sub 函数名(变量)
      • 函数变量赋值:$_[序号]
      • 函数变量计数:变量 = @_
      • 函数调用: 函数名(变量)
      • 函数返回:return
      • 常用字符串函数:
      • 常用字符串函数:变大写UC(uppercase)、大写首字母Ucfirst、小写lc(lowercase)、小写首字母lcfirst、字符串长度length(str)、切分split(pattern,str,limit)、子串substr(原串,返回起始位置)、返回匹配的最后一个位置rindex(原串,匹配串) 
      • 常用数组函数:删除delete(key)、exists(key)、连成串 join(str,array)返回一个符串、pop(array)、排序sort等。




  • 语句与控制语句


  • 语句块一般以{ }作为开始和结束。当然,一个声明也可以是一个语句块。

  • 控制语句与其它语言差不太多,下面分了不同控制语句进行了示例。 

# 语句和控制语句示例
# if语句示例
$a = 1;
$b = 12;
$c = 12;
if($a == $b){
print ("a == b : $a == $b" );
print "\n";
}elsif($a == $c){  #小心,此处的"elsif"不是字符串ELSE 和IF
print ("a == c : $a == $c" );
print "\n";
}else {
print ("a != b : $a != $b");
print "\n";
}

# while语句示例
do{
print("a = $a \n");
$a++;
} while ($a <=$b);
$a = 1;
while($a <= $b){
print("a = $a \n");
$a++;
}continue {
print ("after while continue.");
}
;
# until语句示例
$a = 5;
do{
print("a = $a \n");
$a++;
} until ($a <=$b);
# for 语句示例
$a = 5;
for ($a=5;$a<$b;$a++){
print("a = $a \n");
};
# foreach语句示例
@arrayA = ("A","B","C","I");
$a =0;
foreach(@arrayA){
print ("array element$a value is $arrayA[$a] .\n");
$a ++;
}

# last语句示例
print ("DEMO of last .\n");
@arrayA = ("A","B","C","I");
$a =0;
foreach(@arrayA){
if($arrayA[$a]eq "B"){
print ("array element$a value is $arrayA[$a] .\n");
last;
}
$a ++;
print("after last. \n");
}
print("exit from block. \n");
# next语句示例
print ("DEMO of next .\n");
@arrayA = ("A","B","C","I");
$a =0;
foreach(@arrayA){
if($arrayA[$a] eq "B"){
print ("array element$a value is $arrayA[$a] .\n");
$a ++;
next;
}else {
print ("array element$a value is $arrayA[$a] .\n");
$a ++;
}
};
# redo 语句示例
print("What is your name? \n");
$name = <STDIN>;      #标准输入,从键盘。
chop($name);
if (! length($name)) {
print("Msg: Zero length input. Please type your name .\n");
redo;           #重新执行当前语句块
}
print("Thank you, " . uc($name) . "\n");
# goto 语句示例
#基本不用,不浪费时间写示例了。


  • 指针ref


  • 使用文件资源
  文件操作比较简单,主要有:


  • 打开文件:open、sysopen(与open模式相当,只是以文字方式进行文字模式的打开模式授权)
  • 关闭文件:close

  • 删除文件:unlink

  • 重命名文件:rename


  • 打开方式:
    > or wCreates, Writes, and Truncates
    >> or aWrites, Appends, and Creates
    +< or r+Reads and Writes
    +> or w+Reads, Writes, Creates, and Truncates
    +>> or a+Reads, Writes, Appends, and Creates
     

  • 目录操作:创建目录mkdir、删除目录rmdir、改变目录chdir等
    opendir DIRHANDLE, EXPR  # To open a directory
    readdir DIRHANDLE        # To read a directory
    rewinddir DIRHANDLE      # Positioning pointer to the begining
    telldir DIRHANDLE        # Returns current position of the dir
    seekdir DIRHANDLE, POS   # Pointing pointer to POS inside dir
    closedir DIRHANDLE       # Closing a directory.
     


  • 正则表达式


  • 特殊变量


  • 异常控制


  • 面向对象
  • PERL模块库
  • 如何DEBUG
  • PERL的常用命令行
  • PERL与网络编程


  • Socket、Mail、Ftp、Http、NNTP (新闻相)


  • 什么是CGI(Common Gateway Interface)
  • 表单处理(HTML)
  • PERL开发Web Service
  • 有哪些好的网络资源

 
 
 
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-378181-1-1.html 上篇帖子: [Perl]杂谈 下篇帖子: perl ipc
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表