在学习Perl的基础之前,还是希望大家有空去看以下Perl的简介。百度百科

一、Perl的基本类型

Per的基本类型分为两种:数值型和字符串型。

数值型可细分为

整数型。如123。

浮点型。如123.123、0.123456。

科学计数型。如1.23E2、1.23e2。

大数值类型。如1_156_123_585_123。

字符串型

字符串。如“123456”,‘123’,qq(this is a string too!)

二、用变量存储基本类型值

Perl定义变量很简单。格式为:$变量名 (PS:Perl的程序员肯定是想钱想疯了);引用的方式也很简单:$变量名。

下面给出一个简单的示例:

[python] view plain copy

#!user/bin/env perl -w

$int = 123456;

$float = 123.456789;

$sci_notation1 = 1.2E10;

$sci_notation2 = 1.2e10;

$big_num = 1_789_854_654_894_654_355_223;

$string = "this is a string";

printf "int value :$int\n";

printf "float value :$float\n";

printf "sci_notation1 value :$sci_notation1\n";

printf "sci_notation2 value :$sci_notation2\n";

printf "big_num value :$big_num\n";

printf "string value :$string\n";

输出结果如下

[python] view plain copy

int value :123456

float value :123.456789

sci_notation1 value :12000000000

sci_notation2 value :12000000000

bignum value :1.78985465489465e+021

string value :this is a string

简单解释一下:

科学技术型数值中E不区分大小写

大数值类型采用“”进行分隔仅是为了方便阅读,上面采用千分法,你也可以采用万分法,也可以直接不使用“_”

print和printf均为内置的输出函数。如果想要接收键盘输入数据可以采用后面的格式:$from_key_board = ; 从DOS窗口接收输入,存储到$from_key_board中

注意:

如果数据过长,会有精度上的舍入。

字符类型的表示

可以使用双引号"",也可以使用单引号'',必须成对出现。

当单引号内部内容包含单引号或双引号内部内容包含双引号时,可以采用反斜杠“\”进行转义。如:"Tom said:\"it is rainning outside!\"".

Perl提供另外一种字符串表示方式qq代表双引号(not Tencent QQ),q代表单引号,配合界限符使用。界限符可以使任意非空格、tab、换行字符。例如:qq(Tom said :"it is raining outside")。但是不推荐使用数字和字母作为界限符,会造成程序阅读困难.

但是也会碰到第二点的问题,如果内部字符创包含界限符,1.成对出现的是允许的,但是会降低可读性。2.使用转义字符。3.界限符那么多,换一个。

上述printf输出中有引用到之前定义的变量。这种方式仅在“”或pp内部可以使用,其他方式不可。

三、Perl中运算符

多数都和其他语言一样,如果你有一定的语言基础,可以只看红字部分

赋值运算符

= 赋值

+= 例如:$num += 1; 等价于$num =$num+1;

-= 例如:$num -= 1; 等价于$num =$num-1;

= 例如:$num= 1; 等价于$num =$num*1;

/= 例如:$num /= 1; 等价于$num =$num/1;

%= 例如:$num %= 1; 等价于$num =$num%1; #取模,除以那个数取余数

= 例如:$num= 2; 等价于$num =$num2; #代表幂,$num的2次方

.= 例如:$str.=“ string” 等价于 $str = $str." string";# . 代表连接符,将两个字符串拼接起来

算术运算符

+

*

/

% 取余数

幂指数 102 即10的2次方

++

. 连接字符串,"this is a "."string" = "this is a string"

数值关系运算符

大于

= 大于等于

< 小于

<= 小于等于

== 等于

!= 不等于

<=> 大于:1;等于:0;小于:-1;

字符串关系运算符

gt 大于

ge 大于等于

lt 小于

le 小于等于

eq 等于

ne 不等于

cmp 大于:1;等于:0;小于:-1;

逻辑运算符

&&或and 与 全真则真

|| 或or 或 全假则假

!或not 非 真假假真

xor 异或 同假异真

位运算

& 按位与

| 按位或

~ 按位非

^ 按位异或

<< 左移位

右移位

特殊运算符

.. 区间表示 如 1..3 等价于 1,2,3

?: 三目操作符,满足?前条件执行:前内容,不满足执行:后内容

文件数据运算符

-r $file 如果$file是可读取的话,返回1的值

-w $file 如果$file是可写入的话,返回1的值

-x $file 如果$file是可执行的话,返回1的值

-e $file 如果$file存在的话,返回1的值

-o $file 如果$file是被执行才所拥有的话,返回1的值

-s $file 返回$file的文件大小(bytes)

-f $file 如果$file是正常文件的话,返回1的值

-T $file 如果$file是文本文件的话,返回1的值

-B $file 如果$file是Binary文件的话,返回1的值

-M $file 返回$file文件最后一次更改时间到现在的日期数

特别注意:

1.Perl不刻意强调变量的初始化,如果一个变量没有初始化就进行运算,则会取其默认值:数字为0,字符串为""空字符串。

2.Perl中字符串可以和数值进行运算,如果字符串看上去不像个数字,则会用0代替

3.千万注意数值型关系运算符和字符串型关系运算符的区别。数字比较时用数值关系运算符,字符串比较时用字符串关系运算符。

如果在字符串比较时使用了数值关系运算符,如: $name="Jack";$name == "Tom";运算的结果总会是1,原因参见 2。

(到时候你从数据库里取出几千万的数据别怪我没说啊,等着被项目经理打死吧)

4.移位操作中<

5.Perl中认为0,空字符串,未定义值undef为false,其他均为true。

6.字符串关系运算中,对两边的字符串从左到右进行按位比较,比较依据Ascii码表顺序

7.&& 和and并不完全相同,&&要早于and执行

8.逻辑运算符并不是返回0或1,而是返回判断结束前处理条件的结果。如 1&&2 返回2 ,0&&2返回0,1||2返回1。

Perl常用函数

printf:输出函数,用法同c语言中一样;

length:输出包含内容的长度:如length("asdf")=4;

chop:去除最后一个字符:chop("abcd")="abc";

chomp:去除尾部的回车换行:chomp("abcd\n")="abcd";

substr($string,m,n):给定字符串,从地m位开始截取n位长度:substr("Hello",2,3)="llo",计数从0开始,n可省略,即至尾部





版权声明:本文为博主原创文章,未经博主允许不得转载。

本文已收录于以下专栏:perl学习

python pip安装失败红字_Perl入门(一)Perl的基本类型及运算符相关推荐

  1. python pip安装失败vtk_安装最新的VTK库验证安装出错该怎么解决

    置顶 安装最新的VTK库验证安装出错该怎么解决 刘冷石 发表于2018年05月02日 我直接pip install vtk ,安装的是8.1.0的版本提示错误 Traceback (most rece ...

  2. python pip 安装失败问题解决

    1.机器上有多个python版本,指定版本安装 python3 -m pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple 2. ...

  3. python安装pyinstaller出现错误_pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)...

    本机中原pyinstaller版本为3.5版本,本打算通过 pip install --upgrade pyinstaller进行升级,竟然报错,后面卸载再重新安装也一样报错,没办法看来通过pip是暂 ...

  4. python pip安装第三方库老是报错_#python pip 安装dlib一直失败?#python安装dlib错误...

    #python pip 安装dlib一直失败?#python安装dlib错误 python dlib 教程2020-10-11 07:52:36人已围观 ubuntu里面怎么安装dlib 下面是在ub ...

  5. Python 安装theano tensorflow keras 教程与pip安装失败解决方法

    这几天一直在折腾Python环境的事,好歹折腾出来,做个总结以备用.(注:由于本机没有独立显卡,因此tensorflow 只安装了CPU版) 安装 官方中文文档 Keras安装和配置指南(Window ...

  6. python lxml安装失败,Python pip安装lxml出错的问题解决办法

    Python  pip安装lxml出错的问题解决办法 1.  在使用pip安装lxml过程中出现了一下错误: >>> pip install lxml C:\Users\Chen&g ...

  7. Python如何安装模块,python模块安装失败的原因以及解决办法

    前言 今天来给刚开始学习python的朋友讲解一下 如何安装python模块, python模块安装失败的原因以及解决办法 很多朋友拿到代码之后,就开始复制粘贴 --> 然后右键进行运行 结果就 ...

  8. Python·pip升级失败报异常之解决方案

    阅文时长 | 0.92分钟 字数统计 | 1484字符 主要内容 | 1.引言&背景 2.声明与参考资料 『Python·pip升级失败报异常之解决方案』 编写人 | SCscHero 编写时 ...

  9. python scipy安装失败的解决方法

    python scipy安装失败的解决方法 from scipy.misc import imreadTraceback (most recent call last):File "D:/P ...

最新文章

  1. 强哥PS强化培训班课程目录
  2. melogin宽带连接服务器无响应,输入melogin.cn进不了路由器设置界面怎么办
  3. 数字人民币实现可控匿名交易?产业升级离不开安全可信的“数字底座”
  4. IAR中断定义#pragma vector = P0INT_VECTOR __interrupt void P0_ISR(void)啥意思?
  5. 如何防御潜在的破坏性DDoS攻击—Vecloud微云
  6. stm32f105使用12M外部晶振
  7. Spring Cloud中,Eureka常见问题总结
  8. matlab都有什么接口,介绍MATLAB与C++的几种接口方式
  9. ubuntu16.04安装ROS
  10. php生成链接列表,根据URL链接和抛文本生成链接a标签的PHP函数
  11. Java中文乱码破碎重组_总结彻底解决Spring MVC+Mybatis中文乱码问题
  12. 基础练习 高精度加法(蓝桥杯 java)
  13. ElementUI table组件,表格组件,单击单元格可编辑逻辑
  14. 【笑话】骂人的最高境界
  15. 找回密码forget_password
  16. 如何从 Windows 虚拟机分离数据磁盘
  17. --initialize specified but the data directory has files in it. Aborting.
  18. 湖南大学计算机学院张柏杨,王树林-湖大信息科学与工程学院
  19. 解析函数的幂级数理论【洛朗展开(Laurent 展开)】
  20. 查看计算机软件配置,最齐全的查看电脑配置指令集锦 查看电脑配置软件推荐【图文】...

热门文章

  1. 【phpcms-v9】phpcms-v9上传视频文件时的解决方案
  2. 动手开发自己的App
  3. 彻底删除linux的python和pip,linux下安装python和pip
  4. 华为鸿蒙汽车自动驾驶,华为鸿蒙车机OS现身,自动驾驶再进化
  5. c语言预处理和连接区别,C语言预处理运算符
  6. mysql5.7.16 表空间加密_技术分享 | InnoDB 表空间加密
  7. 详解概率论基础: 从贝叶斯开始
  8. 电梯物联网让老旧小区电梯改造不再是难题
  9. android把图片保存到手机相册,并更新相册目录
  10. InnoDB体系架构详解