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

perl学习记录(二)

发布时间:2020-12-16 00:15:23 所属栏目:大数据 来源:网络整理
导读:1、foreach? 控制结构; foreach?$rock?(qw?/bedrock?slate?lava/){print? “$rockn”} 每次迭代时,控制变量(即此例中的 $rock ),都会从列表中取得新的值。但控制变量并不是元素列表的复制品,而是列表元素本身。 2、假如你在 foreach 循环的开头省略了

1、foreach?控制结构;foreach?$rock?(qw?/bedrock?slate?lava/){print?“$rockn”}

每次迭代时,控制变量(即此例中的$rock),都会从列表中取得新的值。但控制变量并不是元素列表的复制品,而是列表元素本身。

2、假如你在foreach循环的开头省略了控制变量,Perl就会使用它的“老地方”变量$_。在许多种情况下,当未告知Perl使用哪个变量或数值时,Perl都会自动使用$_

3、Reverse操作符会读取列表的值(可能来自数组),并按相反的次序返回该列表。

4、子程序名属于独立的名字空间,在Perl中,所有的子程序都有一个返回值,但并不是所有的Perl子程序都包含有用的返回值。在子程序的执行中,它会不断进行运算。而最后一次运算的结果,都会被自动当成子程序的返回值。

5、默认情况下,perl中所有的变量都是全局变量,即在程序的任何地方都能访问它们,但你可以随时运用my操作符来创建私有的词法变量。

6、使用use?strict?编译命令,这会让Perl语法编译器强制执行一些严格的,确保良好程序设计的规则。

7、state关键字用来定义子程序中的静态局部变量。

8、“行输入”操作符<STDIN>,在标量上下文中执行该操作时,将会返回标准输入的下一行。如果读到文件结尾(end-of-file),“行输入”操作符就会返回undef。对于标准输入为键盘输入时来说,Ctrl+D就相当于end-of-file。文件结尾在标量上下文下是undef,在列表上下文下是空列表。

9、从命令行传递过来的参数存在@ARGV数组里。

10、openclose分别是打开和关闭文件句柄的两个操作符。关闭文件句柄,也就是让Perl去通知操作系统,我们对该数据流的处理已经全部完成了。所以请将尚未写入的输出数据写到磁盘。当重新打开某个文件句柄(即重用之前打开的文件句柄名)时,Perl会自动关闭原先的文件句柄。程序结束时。Perl也会自动关闭文件句柄。

11、哈希的键和值都是任意的标量,键总是会被转换成字符串,并且是唯一的。

12、哈希变量也有自己的命名空间;访问哈希元素,使用如下语法:$hash{$some_key}。使用了花括号而非方括号来引出索引,键值是字符串而非数字。

13、要指代整个哈希,可以用百分号(%)作为前缀。为了方便起见,哈希可以被转换成列表(这称为哈希松绑),反过来也行。

14、keys函数能返回哈希的键列表,而values函数能返回值列表。在标量上下文中,这两个函数都会返回哈希中键/值对的个数。这个过程不必对整个哈希进行遍历,因而非常高效。

15、each函数用来罗列哈希的每个键/值对。实际使用时,唯一适合使用each的地方就是在while循环中。

while(($key,$value)=each?%hash){

???print?“$key=>value”;

}

16、想要检查哈希中是否有某个键值,可以使用exists函数,他能返回真或假,分别表示键存在与否,和键对应的值无关。

if(exists??$books(“dino”)){...}?

17、delete函数能从哈希中删除指定的键及其相应的值。如果没有这样的键,它就会直接结束,而不会出现任何警告或错误信息。

18、%ENV哈希,Perl获取这些信息的方法是存取%ENV哈希。

(编辑:李大同)

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

    推荐文章
      热点阅读