转载http://blog.chinaunix.net/uid-20639775-id-154591.html

Perl有三种变量:

  1. 纯变量(Scalar Varible)
  2. 数组(Array)
  3. 关联数组(Associative array)

一、纯变量

又称标量变量,是Perl处理的最简单的数据类型。标量可以是数字(如2,3或2.5e6), 也可以是字符串(如“hello”和“网上学园”)。

Perl中的标量变量以美元符号$和一个字母开始,以后可以是字母、数字和下划线,大小写有区别,而且所有字母、数字和下划线都有效。如:

$a和$A是不同的变量;
    $this_is_a_long_variable_1和
    $this_is_a_long_variable_2是不同的变量;

Perl中的变量可以通过操作符(如+或.等)来产生新的变量。你可以从文件和设备中读取变量,也可以将其输出。

使用纯量变量时要在前面加上$符号,
注意:指定的纯变量是一个字符的话,就要加上""双引号或单引号;如果是数值的话,就不用加上""这个符号。

标量数据又可以分为数字和字符串两种:

数字
    可分为整型变量和浮点变量。
    整型变量:(如2,-200,3568等)。Perl支持8进制和16进制变量,8进制以0开头(如0255,表示8进制的255),16进制以0x或0X开头
(如-0x1a,代表负的1A)
    实型变量:(如2.5,-6.3e5,-2.3-e6等)。

字符串
   
最短的字符串可以没字符,最长可以把你的内存填满,这与Perl的“无内置限制”的原则一致。
    字符串有两种格式:单引字符串和双引字符串。
    单引字符串(single-quoted string):
就是用单引号括起来的一串字符。该单引字符串不是字符串的一部分。
引号中可以插入任何字符。只有两种情况例外,一种是中间插入单引号,并在前面有一反斜杠;一种是字符串有两个连着的反斜杠。
    双引字符串(double-quoted string):
就是用双引号括起来的一串字符,其作用类似于C语言。

双引字符串中反斜杠转义表

结 构 含 义
\n 换行
\r 回车
\t 水平置表符
\f 换页符
\b 退格
\v 垂直置表符
\a 响铃
\e Esc
\007 任一八进制ASCII值(这里007表示bell)
\x7f 任一十六进制ASCII值
\cC 任一“控制”字符
\\ 反斜杠
\" 双引号
\l 下一字母小写
\L 以后所有字母小写直到\E
\u 下一字母大写
\U 以后所有字母大写直到\E
\E 结束\L和\U

    标量变量的运算符

1、赋值运算符
    如:$a=23; #将23赋值给$a
        $b=$a=23; #将23赋值给$a和$b
        $b=3+($a=2); #将2赋值给$a,再加3将值赋给$b,即$b为5

2、二元赋值运算符
    如:$a=+3; #等同于$a=$a+3
    这与C语言中基本相同。

3、自增自减运算符
    如:$a++; #等同于$a=$a+1
    这与C语言中基本相同。

4、chop()运算符
    如:$a="hello";
        chop($a); #此时$a的值为"hell"。
    这对于从屏幕获取文本后去除换行符很有用。
    如:$a=; #获取文本
        chop($a); #去除最后的换行符。
    这两行可合并为:
        chop($a=);

5、字符串的标量插入值
    如:$a="zmd";
        $b="hello! $a";
    $b的值为"hello! zmd"。

综合示例

$url1='hello'; #将hello这串字符赋给$url1变量;
$url2='don\'t'; #将don't这串字符赋给$url2变量;
$url3='hello\n'; #将hello\n这串字符赋给$url3变量;注意\n不被当作换行符而是\和n两个字符;
$url1="http://zmd.zb169.net"; #将http://zmd.zb169.net这串字符赋给$url1变量;
$url2="/cgi-bin/"; #将/cgi-bin/这个字符赋给$url2变量;
$url3=$url1.$url2; #将两个变量的字符串连起,
$url3="http://zmd.zb169.net/cgi-bin/";
$int=5; #将10赋给$int变量;
$int=5+6; #$int=11;
$int=5*6; #$int=30;
$int=5;$int++; #$int=6;
$int=5;$int+=8; #$int=13;
$a="\Uzmd";$b="\u\LZHENG";$c="$a
$b"
#$a="ZMD"; $b="Zheng";
$c="ZMD Zheng"

perl 纯变量(Scalar) 转载的更多相关文章

  1. perl 数组变量(Array) 转载

    Perl 变量(2)--数组 原文地址:Perl 变量(2)--数组 作者:飞鸿无痕 二.数组 数组是标量数据的有序列表. 数组可以含任意多个元素.最小的数组可以不含元素,而最大的数组可以占满全部可用 ...

  2. Perl的变量

    变量 在perl中,普通变量被称为"标量变量"(scalar),标量是指单个值的意思.还有非标量的数据,如数组.列表.hash等.标量变量和这种非标量的关系,类似于英语里面的单数和 ...

  3. Perl的变量及语境(一)

    Perl语言中的大部分语句表达式后都紧接一个分号,分隔不同的Perl语句. perl解释器能一次完成编译和运行这两个动作. perl通过一对反引号"``"来表示运行外部命令. 也可 ...

  4. perl模块终极解决方案--转载

    不管别人怎么说,反正我是非常喜欢perl语言的! 也会继续学习,以前写过不少perl模块的博客,发现有点乱,正好最近看到了关于local::lib这个模块. 居然是用来解决没有root权限的用户安装, ...

  5. 2章 perl标量变量

    标量变量 单单存储一个值得变量   ,单个标量值 $name   为变量  区分大小写 $barney=$barney*2   第一次  取值  等号右边    :第二次  赋值 等号左边 双目操作符 ...

  6. u-boot中filesize环境变量【转载】

    转载地址:https://blog.csdn.net/fzs333/article/details/48518559 U-Boot中的环境命令可以使用$(filesize)来确定刚下载(传输)得到的文 ...

  7. perl静态变量

    state操作符功能类似于C里面的static修饰符,state关键字将局部变量变得持久. state也是词法变量,所以只在定义该变量的词法作用域中有效,举个例子: #!/usr/bin/perl u ...

  8. perl检查变量是否定义

    my $label = defined($pieces[0]) ? $pieces[0] : ""; my @alreadyAddedCol = $node1->{DB}-& ...

  9. linux下修改path变量(转载)

    比如要把/etc/apache/bin目录添加到PATH中 1.#PATH=$PATH:/etc/apache/bin 使用这种方法,每当登出PATH就会恢复 2.#vi /etc/profile 在 ...

随机推荐

  1. PAT A1046 Shortest Distance (20 分)

    题目提交一直出现段错误,经过在网上搜索得知是数组溢出,故将数组设置的大一点 AC代码 #include <cstdio> #include <algorithm> #defin ...

  2. Tensorflow加载预训练模型和保存模型

    转载自:https://blog.csdn.net/huachao1001/article/details/78501928 使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我 ...

  3. 解决Spring Boot集成Shiro,配置类使用Autowired无法注入Bean问题

    如题,最近使用spring boot集成shiro,在shiroFilter要使用数据库动态给URL赋权限的时候,发现 @Autowired 注入的bean都是null,无法注入mapper.搜了半天 ...

  4. z-index神奇的失效了!!!

    z-index简单介绍 首先z-index只对定位元素有效,什么是定位元素呢,也就是设置了position属性的元素,position:relative--相对定位,position:absolute ...

  5. python操作MySQL数据库(转)

    先来一个简单的例子吧: ? 1 2 3 4 5 6 7 8 9 10 import MySQLdb   try:     conn=MySQLdb.connect(host='localhost',u ...

  6. nginx之配置

    1)反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端, ...

  7. 小程序setData方法使用总结

    做了一下小程序setData使用方法总结,如有错误,请不吝指出,Thanks♪(・ω・)ノ  //示例data: data:{ user:'young', obj:{ name:'蓝色蒲公英', ag ...

  8. SQL:MYSQL入门

    MYSQL(关系型数据库管理系统) 参考手册:http://www.w3school.com.cn/sql/index.asp 给大家讲一下数据库:常见的有 ACCESS.MSSSQL.MYSQL.O ...

  9. Python 之 random模块

    Python中的random模块用于生成随机数.1.random.random()  #用于生成一个0到1的随机浮点数:0<= n < 1.0>>> random.ran ...

  10. payload免杀之Installutil.exe&csc.exe利用

    0x00 前言 C#的在Windows平台下的编译器名称是Csc.exe.Installutil.exe工具是一个命令行实用程序,允许您通过执行指定程序集中的安装程序组件来安装和卸载服务器资源,可以执 ...