Perl的骆驼精神(一)

Perl语言中的大部分语句表达式后都紧接一个分号,分隔不同的Perl语句。

perl解释器能一次完成编译和运行这两个动作。 perl通过一对反引号"``"来表示运行外部命令。

标量(scalar)包括数字和字符串两部分。

在perl内部按“双精度浮点数”的格式来存储数字,整型常量也会被转换成等效的浮点数。

perl允许在数字直接量间插入“_”分隔符。而且对于十进制(decimal)之外的数。八进制(octal)以“O”开头。

十六进制(hexadecimal)以“0x”开头。二进制(binary)以“0b”开头。

数字操作符包括:+,-,*,/,%。取模操作先取整再求余。

$fred += 5;         $str .= "";

perl内的字符串长度不受限制,从空字符串到无限长都可以。

如果源码内出现除ASCII之外的其他字符,需要加use utf8;来加入任意一个unicode的支持。

单引号内的字符串,基本不会出现特殊字符,除单引号“ ‘ ”和“ / ”,其他字符都表示他们本身。

双引号内的字符串,可以表示多个特殊字符,而且支持变量内插。

字符串操作符有:字符串连接符“ . ”,字符串重复操作符“ x ”。表示重复的直接量在使用前会取整,直接去掉小数。

5x4.8          #得到“5555”

perl内支持数字与字符串直接的自动转换,根据操作符来判断。字符串中的非数字部分及其之后的数字部分,在转换过程中都会被忽略。

标量变量(variable),以美元符号“$”来表示,为了避免变量名的歧义,可以使用花括号{}来将变量名括起来。

perl中的变量不需要初始化,初始值都是undef。而后可以直接用来赋值或运算。

运算操作符有比较操作符:按数字或字符串来划分,==(eq), !=(ne), <(lt), > (gt), <= (le), >= (ge)。

布尔值:perl内部没有专用的布尔类型。如果数字是“0”,则为假,其他都是真。如果字符串是空,则为假,其他都是真。

’0‘是唯一的为假的非空字符串。

perl中的控制结构:if...else..      while( )  {.....}

print输出结果用双引号“”来表示输出内容。

print "The answer is ", 6*7, ".\n";         #也可以用逗号","隔开,连在一块来输出。

perl获得用户输入<STDIN>一般在末尾会带有换行符。

$line = <STDIN>;

chomp()函数,用于去掉字符串末尾的换行符。

chomp($text = <STDIN>);

defined()函数,用来判断某个字符串是不是空字符串。

perl内部的警告功能。可以在命令行用perl   -w perl_file来表示。或者use   warning。

当perl未被告知使用哪个变量或数值时,使用默认变量$_。

如print没参数时,默认打印$_的值。

数组:存放列表变量,可以用“@”字符加数组名来引用整个数组。数组索引从“0”开始到“$#+数组名”

$rock[$#rock] = ‘hard rock‘;              #对最后一个元素赋值。

列表直接量:用圆括号内用逗号隔开的一串数字表示。或者使用qw ()表示,其中的空白符会被自动忽略。

qw( fred barney betty dino )  #表示4个元素的列表。

或者使用范围操作符 ..   (1..100);   #以“1”为单位而递增。

带双引号的字符串内也可以进行数组内插,同时注意数组的索引值中的变量会按普通的字符串表达式来表示,进而计算索引值。

$y =2;   $x = "this is $fred[$y-1]‘s place"   #会直接取$fred[1]这个变量。

在标量上下文和列表上下文,perl的处理方式是不同的。

1)数组的名称在列表上下文,返回元素的列表。在标量上下文,返回数组中的元素个数。     $number = [email protected];

2)在标量上下文,使用reverse函数。  $backwards= reverse qw/yabba dabba doo/;    #赋值oodabbadabbay。

3)在标量上下文,<STDIN>返回输入数据的下一行。在列表上下文,<STDIN>返回所有剩下的行。

pop/push操作:对数组的最后一个变量进行操作。

shift/unshift:对数组的第一个变量进行操作。

splice操作:对数组随意的修改。第一个参数表示要修改的数组。第二个参数表示操作的元素的起始索引。第三个参数表示操作的长度。

第四个参数表示要替换的列表。

@array= qw( pebbles dino fred barney )

@removed=splice @array,  1, 2, qw(wilma);     #@array=qw( pebbles wilma barney)。

可以使用foreach循环体来遍历列表或数组中的数值,并且在此过程中列表或数组或变量都不会被改变。

foreach $rock (@rocks) {....}

reverse操作符:返回次序相反的列表或数组。

sort操作符:按ASCII码的大小或字符的代码点的大小来对列表或数组进行排序。

each操作符:返回数组中下一操作元素的索引值及数值。

while (my ( $index, $value) = each @rocks)   {...}

时间: 2024-10-30 03:36:58

Perl的骆驼精神(一)的相关文章

Perl的骆驼精神(二)

在Perl中可以自己创建子程序(Subroutine): 关键字sub,子程序名以及用花括号封闭起来的代码块. sub  marine { ... } 子程序名与标量的命名空间是不同的两个部分. 子程序的返回值:最后一次运算的表达式即是默认的返回值.也可以用return来显式的返回,这样之后的语句不会执行. 在标量上下文返回的会是标量,在列表上下文返回的也是列表. 子程序中的参数:子程序内部可以使用@_,$_[1],$_[2],,,这样的变量来表示.@_变量是子程序私有变量,递归调用时,不会出错

Perl中的骆驼精神

Perl中的哈希数据结构. 哈希是一种数据结构,由一对对的键(keys)--值(values)对来组成. 这些键和值都是任意的标量,但键总会被转换成字符串而且必须是唯一的字符串. 访问哈希元素,    $hash{$some_key}    ##和访问数组的做法类似,只是使用了花括号{}而非方括号[]. 访问哈希表中不存在的值得到undef. $family_name{'barney'} = 'rubble'        ##完成对某一哈希元素的单一赋值 访问整个哈希,    %family_

Perl中的骆驼精神(三)

Perl中读取标准输入:<STDIN> foreach (<STDIN>)  { print "I saw $_";} 钻石操作符<>:它的参数来源于@ARGV数组. 先检查@ARGV数组,如果为空,则从标准输入流输入.@ARGV的值可以来自命令行,也可以自己赋值. ./program  fred  barney betty     #@ARGV的值便是命令行后的三个文件. while (<>)   {  chomp;   print &

Python 的经典入门书籍

实python非常适合初学者入门,上手很容易.我就是完全通过网上资源学了python的.最大的是3点经验:1.找一本浅显易懂,例程比较好的教程,从头到尾看下去.不要看很多本,专注于一本.把里面的例程都手打一遍,搞懂为什么.2.去找一个实际项目练手.我当时是因为要做一个网站,不得已要学python.这种条件下的效果比你平时学一门新语言要好很多.所以最好是要有真实的项目做.可以找几个同学一起做个网站之类.3.最好能找到一个已经会python的人.问他一点学习规划的建议,然后在遇到卡壳的地方找他指点.

关于学习Perl

Perl是一门很有用的语言,可以用它来做很多事.然而,它也仅是一门语言,掌握了Perl,你只是掌握了Computer领域的一小块知识.在学习Perl前,请明确你的学习目的,并采用正确的学习方法和资源. (一)学习目的 你学Perl的目的是什么?要实现你的目的,光有Perl够吗?让偶帮你分析看看. 1. 我想当一名System Administrator,并将Perl用于SA工作. 想法很好,优秀的SA,Perl能力必备.Perl自身的灵活语法,强大的正则表达式,良好的shell结合能力,以及CP

windows下perl的安装和脚本的运行

下载perl编译器.下载地址:http://pan.baidu.com/s/1i3GLKAp 下载后的文件如下图所示.   perl的安装. 直接双击运行下载的文件,首先会出现perl版本等等信息的介绍,不要理,直接next就会出现是否接受perl安装说明,按图示选择接受,然后继续next.   上面next以后会出现一个安装路径的选项,你可以根据自己的需要更改安装路径也可以默认安装路径为c盘不过,因为perl的安装包其实很小,所以建议直接安装到c盘.设置好安装路径以后继续next,在弹出的这个

perl IDE

学习perl的网站 网上学习perl教程,可以参考下面2个网站: 1.http://www.runoob.com/perl/perl-tutorial.html 2.https://cn.perlmaven.com/perl-tutorial 一.Window上安装perl编译器 在 Window 平台上有 ActiveStatePerl 和 Strawberry Perl 两种编译器,一般选择后者,http://strawberryperl.com/. 下载后直接安装,注意安装路径,似乎不必设

perl语言书籍教程推荐

互动出版网计算机频道.为您推荐关于perl语言的书籍教程.包括perl push.perl chomp以及perl python等perl语言内容. perl语言书籍一.<Perl语言编程 第四版(上下册)(影印版)> <perl语言编程>在1991年第一次出版时就无可争议地成为了perl的圣经,它现在依然是这门高实用性语言的入门指南. perl语言书籍二.<Perl语言入门(第六版.中文版)(Perl程序员必读之作)(china-pub首发)> 最具权威性的o'rei

编程语言的选择(perl和python)-我的一点心得

相信有很多人初学编程的人会在语言选择困难症.说白了,我认为大多数人都害怕自己选择的语言会被淘汰或者使用不广泛,今天我就来谈谈关于编程语言选择的那点事. 我想拿perl和python来举例说明,因为这两门语言的关系就跟java和c++一样,perl阵营和python阵营都各自有各自的理由. 语言的选择和操作系统的选择很类似,有的人爱用linux有的人爱用windows,至于说到底是linux好还是windows好,谁也说不清.在日常工作中,windows无疑有巨大优势,但是在专业领域,linux反