加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl基础知识

发布时间:2020-12-16 00:24:32 所属栏目:大数据 来源:网络整理
导读:?? 最近刚刚开始接触perl的知识,简单的写点它的基本知识 字符重复操作符 小写字母x 例子 “fred” x 3 ??? //结果是 “fredfredfred” ------------------------------------------------------------ 标量的赋值 $fred = 17; ??? ??? //?$fred的值设为17 $
?? 最近刚刚开始接触perl的知识,简单的写点它的基本知识
字符重复操作符 小写字母x
例子
“fred” x 3 ??? //结果是 “fredfredfred”
------------------------------------------------------------
标量的赋值
$fred = 17; ??? ??? //?$fred的值设为17
$barney = ‘hello’;? //?$barney的值设为5个字符组成的字符串’hello’
$barney = $fred +3; //?$barney设为$fred 当前值加上3后的结果即20
-------------------------------------------------------------
获取用户输入
<STDIN>
例子
 
 
  1. $line?=?<STDIN>;?
  2. if?($line?eq?"n")?{?
  3. ??print?"That?was?just?a?blank?line!n";?
  4. }?else?{?
  5. ??print?"That?line?of?input?was:?$line";?
  6. }?

-------------------------------------------------------------
chomp 操作符 (只能用在一个变量上,而且该变量的内容为字符串)
例子
 
 
  1. $text??=?"a?line?of?textn";?
  2. chomp($text)?
-------------------------------------------------------------
列表直接量
 
 
  1. (1,2,3)????????//包含1、2、3这三个数字的列表?
  2. ("fred",4.5)???//两个元素,"fred"和?4.5?
  3. (1..100)???????//100个整数构成的列表?
  4. (1..5)?????????//与(1,3,4,5)相同??
  5. (1.7..5.7)?????//同上?
  6. (5..1)?????????//空列表?仅向上计数?
  7. (0,2..6,10,12)?//与(0,5,6,12)相同?
  8. ……?
--------------------------------------------------------------
qw 简写
 
 
  1. qw!?fred?barney?betty?wilma?dino?!?
  2. qw{?fred?barney?betty?wilma?dino?}?
  3. 这两个例子是以!和{}来做为定界符?
  4. perl还允许你用其他任何标点符号作为定界符?
--------------------------------------------------------------
列表的赋值
 
 
  1. ($fred,$barney,$dino)?=?(“flintstone”,”rubble”,undef);?
  2. ($fred,$barney)?=?qw<?flintstone?rubble?slate?granite>;?
--------------------------------------------------------------
pop和push操作符
pop 用来取出数组中最后一个元素,同时返回该元素值
 
 
  1. push??
  2. @array?=?5..9;?
  3. $fred?=?pop(@array);????#?$fred?变成9?@array现在是(5,7,8)?
  4. $barney?=?pop?@array;????#?$barney?变成8?@array现在是(5,7)??
  5. pop?@array;???????????#?@array现在是(5,6)?
  6. push(@array,0);????????#?@array现在是(5,0)?
  7. push?@array,8;???????#?@array现在是(5,8)?
  8. push?@array,1..10;???????#?@array?得到了10个新元素?
  9. @others?=?qw/?9?0?2?1?0/;??
  10. push?@array,?@others;???#?@array?又得到了5个新元素?
--------------------------------------------------------------
shift 和unshift 操作符
pop和push操作符是处理数组的尾端
unshift和shift 操作符是处理数组的开头
 
 
  1. @array?=?qw#?dino?fred?barney?#;?
  2. $m?=?shift(@array);????????????//$m?变成?“dino”,?@array?现在是?(“fred”,”barney”)?
  3. $n?=?shift?@array;??????????????//$n?变成?“fred”,?@?array?现在是?(”barney”)?
  4. shift?@array;???????????????????//@?array?现在变空了?
  5. $o?=?shift?@array;??????????????//$o?变成undef,@array还是空的?
  6. unshift?(@array,?5);????????????????//@array?现在仅包含一个元素的列表(5)?
  7. unshift?@array,?4;?????????????//@array?现在是(4,5)?
  8. @others?=?1..3;????????????????
  9. unshift?@array,?@others;????????//@array?变成了?(1,5)?
froeach控制结构(能逐项遍历列表中的值,依次迭代)
 
 
  1. foreach?$rock?(qw/?bedrock?slate?lava?/)?{?
  2. ????print?“one?rock?is?$rock.n”;???????????//依次打印三种石头的名字?
  3. }?
----------------------------------------------------------------
Perl 的“老地方”:$_
假如你在forecah循环的开头省略了控制变量,perl就会使用它的“老地方”变量$_
 
 
  1. foreach?(1..10)?{?#默认会用?$_?迭代?
  2. ????pirnt?“I?can?count?to?$_!n”;?
  3. }?
  4. ?
  5. $_?=?“Yabba?dabba?doon”;?
  6. print;?#?默认打印?$_?
后面会继续写一些关于perl的知识,请感兴趣者继续关注,互相交流谢谢。 ?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读