Perl 标量

标量是一个简单的数据单元。

标量可以是一个整数,浮点数,字符,字符串,段落或者一个完整的网页。

以下实例演示了标量的简单应用:

实例

#!/usr/bin/perl

$age = 20;             # 整数赋值
$name = "CodingDict"; # 字符串
$salary = 130.50; # 浮点数 print "Age = $age\n";
print "Name = $name\n";
print "Salary = $salary\n";

执行以上程序,输出结果为:

Age = 20
Name = CodingDict
Salary = 130.5

数字标量

标量通常是一个数字或字符串,以下实例演示了不同类型的数字标量的使用:

实例

#!/usr/bin/perl

$integer = 200;
$negative = -300;
$floating = 200.340;
$bigfloat = -1.2E-23; # 八进制 377 , 十进制为 255
$octal = 0377; # 十六进制 FF, 十进制为 255
$hexa = 0xff; print "integer = $integer\n";
print "negative = $negative\n";
print "floating = $floating\n";
print "bigfloat = $bigfloat\n";
print "octal = $octal\n";
print "hexa = $hexa\n";

执行以上程序,输出结果为:

integer = 200
negative = -300
floating = 200.34
bigfloat = -1.2e-23
octal = 255
hexa = 255

字符串标量

以下实例演示了不同类型的字符串标量的使用,注意单引号和双引号的使用区别:

实例

#!/usr/bin/perl

$var = "字符串标量 - 编程字典!";
$quote = '我在单引号内 - $var';
$double = "我在双引号内 - $var"; $escape = "转义字符使用 -\tHello, World!"; print "var = $var\n";
print "quote = $quote\n";
print "double = $double\n";
print "escape = $escape\n";

执行以上程序,输出结果为:

var = 字符串标量 - 编程字典!
quote = 我在单引号内 - $var
double = 我在双引号内 - 字符串标量 - 编程字典!
escape = 转义字符使用 - Hello, World!

标量运算

以下实例演示了标量的简单运算:

实例

#!/usr/bin/perl

$str = "hello" . "world";       # 字符串连接
$num = 5 + 10; # 两数相加
$mul = 4 * 5; # 两数相乘
$mix = $str . $num; # 连接字符串和数字 print "str = $str\n";
print "num = $num\n";
print "mix = $mix\n";

执行以上程序,输出结果为:

str = helloworld
num = 15
mix = helloworld15

多行字符串

我们可以使用单引号来输出多行字符串,如下所示:

实例

#!/usr/bin/perl

$string = '
编程字典
—— 爱学习,更爱分享!
'; print "$string\n";

执行以上程序,输出结果为:

编程字典
—— 爱学习,更爱分享!

你也可以使用 "here" document 的语法格式来输出多行:

实例

#!/usr/bin/perl

print <<EOF;
编程字典
—— 爱学习,更爱分享!
EOF

执行以上程序,输出结果为:

编程字典
—— 爱学习,更爱分享!

特殊字符

以下我们将演示 Perl 中特殊字符的应用,如 FILE, LINE, 和 PACKAGE 分别表示当前执行脚本的文件名,行号,包名。

注意: __ 是两条下划线,FILE 前后各两条下划线。

这些特殊字符是单独的标记,不能写在字符串中,例如:

实例

#!/usr/bin/perl

print "文件名 ". __FILE__ . "\n";
print "行号 " . __LINE__ ."\n";
print "包名 " . __PACKAGE__ ."\n"; # 无法解析
print "__FILE__ __LINE__ __PACKAGE__\n";

执行以上程序,输出结果为:

文件名 test.pl
行号 4
包名 main
__FILE__ __LINE__ __PACKAGE__

v 字符串

一个以 v 开头,后面跟着一个或多个用句点分隔的整数,会被当作一个字串文本。

当你想为每个字符 直接声明其数字值时,v-字串提供了一种更清晰的构造这类字串的方法,而不像 "\x{1}\x{14}\x{12c}\x{fa0}" 这种不易于理解,我么可以看下面的实例:

实例

#!/usr/bin/perl

$smile  = v9786;
$foo = v102.111.111;
$martin = v77.97.114.116.105.110; print "smile = $smile\n";
print "foo = $foo\n";
print "martin = $martin\n";

执行以上程序,输出结果为:

Wide character in print at test.pl line 7.
smile = ☺
foo = foo
martin = Martin

本文转自:http://codingdict.com/article/6800

Perl 标量的更多相关文章

  1. 2章 perl标量变量

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

  2. Perl 变量:标量变量

    Perl 标量标量是一个简单的数据单元.标量可以是一个整数,浮点数,字符,字符串,段落或者一个完整的网页. 1.数字标量标量通常是一个数字或字符串. 2.字符串标量以下实例演示了不同类型的字符串标量的 ...

  3. perl 对ENV环境变量的使用

    1.hash 方式访问. %ENV  key为环境变量名,value为环境变量值 2.调用ENV模块 . use Env qw(PATH); print "path is $ENV{path ...

  4. 6-Perl 标量

    1.Perl 标量标量是一个简单的数据单元.标量可以是一个整数,浮点数,字符,字符串,段落或者一个完整的网页.以下实例演示了标量的简单应用:实例#!/usr/bin/perl$age = 20; # ...

  5. 13-Perl 子程序(函数)

    1.Perl 子程序(函数)Perl 子程序也就是用户定义的函数.Perl 子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读.Perl 子程序可以出现在程序的任何地方,语法格 ...

  6. Perl 引用:引用就是指针,Perl 引用是一个标量类型可以指向变量、数组、哈希表(也叫关联数组)甚至子程序。

    Perl 引用引用就是指针,Perl 引用是一个标量类型可以指向变量.数组.哈希表(也叫关联数组)甚至子程序,可以应用在程序的任何地方. 1.创建引用1.使用斜线\定义变量的时候,在变量名前面加个\, ...

  7. Perl 学习笔记-标量数据

    最近学习Perl, 准备看一遍入门指南,关键的东西还是记录下来,以便以后复习和查看参考. 笔记来自<<Perl语言入门第5版>> 1. 在Perl内部,不区分整数值和浮点数值, ...

  8. Perl 变量:标量变量、数组变量、哈希变量和变量上下文

    一.Perl 变量变量是存储在内存中的数据,创建一个变量即会在内存上开辟一个空间.解释器会根据变量的类型来决定其在内存中的存储空间,因此你可以为变量分配不同的数据类型,如整型.浮点型.字符串等.上一章 ...

  9. Perl 数据类型:标量、数组、哈希

    Perl 数据类型Perl 是一种弱类型语言,所以变量不需要指定类型,Perl 解释器会根据上下文自动选择匹配类型. Perl 有三个基本的数据类型:标量.数组.哈希.以下是这三种数据类型的说明: 序 ...

随机推荐

  1. 网络编程之 TCP-UDP的详细介绍

    一.TCP协议 1. TCP协议的特点 1.TCP是面向连接的运输层协议.这就意味着,在使用该协议之前,必须建立TCP连接.在传输数据完毕后,必须释放已经建立的TCP连接. 2.每一条TCP连接只能有 ...

  2. 笔记49 在Spittr应用中整合Hibernate

    在前边构建的Spittr应用中整合Hibernate 由于最近所学的hibernate都是使用xml方式进行配置的,所以在与以Java方式配置的Spittr应用结合时就会出现一些小问题,在此进行总结. ...

  3. Batch - call, start, goto 区别

    参考(待整理): 批处理命令——call 和 start

  4. Batch - 忽略FORFILES “no files found” error

    ref:https://stackoverflow.com/questions/16820681/suppress-forfiles-no-files-found-error Solution: Th ...

  5. phpstrom 注释效果

    /** * .,:,,, .::,,,::. * .::::,,;;, .,;;:,,....:i: * :i,.::::,;i:. ....,,:::::::::,.... .;i:,. ..... ...

  6. Spring使用Redis

    1.引入依赖 <dependency> <groupId>org.springframework.data</groupId> <artifactId> ...

  7. delphi DBGrid简单自绘(字体颜色、背景等)

    delphi DBGrid简单自绘(字体颜色.背景等)  从网上找的代码 应该是C#写的,其实delphi 的操作类似: 1 2 3 4 5 6 7 8 9 10 11 12 13 void __fa ...

  8. 2017-3-7html基础

    一:<html><!--html文档的开始--> <head><!--头标签,html文档的开头,来描述html文档的信息,head之间的内容不会在浏览器中显 ...

  9. Git 远程仓库分支管理

    目录 目录 速查表 关联远程代码仓库 克隆远程仓库 分支管理 创建分支 切换分支 合并分支 删除分支 解决冲突 速查表 指令 作用 git branch 查看分支 git branch newBran ...

  10. 记一次java简单的if语句使用多态重构

    场景描述: 一个controller中,部门领导有布置任务,查看任务整体情况,查看部门成员,查看部门成员完成情况,导出任务详情,如下: @RestController @RequestMapping( ...