美文网首页
标量数据

标量数据

作者: 食梦狸猫 | 来源:发表于2019-03-22 11:25 被阅读0次

Perl用标量来称呼单个事物,这是Perl里最简单的一种数据类型

  • 数字
    在Perl中总是按照双精度浮点数来保存数字进行运算的。所以Perl内部不存在整数值。
  1. 浮点数直接量
    是指某个数字在Perl中直接的写法,如:1.25,7.25e45,-1.2e-23

  2. 整数直接量
    61298012 == 61_298_012

  1. 非十进制的整数直接量
    八进制0377,十六进制0xff,二进制0b1111111

  2. 数字操作符
    +-×/%,都是按照浮点数类型进行运算!!

  • 字符串
    Perl字符串能包含任何字符,可用来创建扫描操控二进制数据。可将一个可执行文件读入perl,修改后再写回去。
  1. 单引号内的字符串直接量

    'FRED','\'\\'
    
  2. 双引号内的字符串变量(反斜杠能转移更多控制字符)

    " barney" ,"hello,world\n" 
    
  3. 字符串操作符
    字符串可以用.操作符连接起来,连接后得到一个新的更长的字符串。

     "HELLO"." "."WORLD" == "HELLO WORLD"
    

字符串重复操作符:x
"FRED" x 3

此操作符将左边的操作数与它本身重复右边操作符次数

  • 数字和字符串之间的自动转换

Perl会根据需要,自动在数字和字符串之间进行类型转换操作。如果操作符(如+)需要数字,则转换为数字,若字符串不包含数字则转换为0。如果操作符(如.)需要字符串,则转换为字符串。

Perl的内置警告信息

我们可以通过编译指令开启警告功能

#!/usr/bin/perl
use warnings;

也可以在命令行上通过-w选项开启警告功能
** Perl -w my_program**
Perl发出的警告信息不会改变程序行为,如果想让警告信息更详细,可以加上

use diagnostics

或者

perl -Mdiagnostics ./my_program

标量变量

标量变量就是单单存储一个值的变量。标量变量的名称以$符号开头 。标识符是区分大小写的。

  • 标量的赋值(=)
  • 双目赋值操作符(+=)
  • 乘幂操作符(**=)

print输出

默认输出到标准输出。可以输入一系列用,隔开的值

字符串中的标量变量内插

$meal = "steak";
$barney = "fred ate $meal"

如果标量变量从未被赋值过,则会用空字符串来替换。

借助代码点创建字符

直接键入这些字符的代码点,然后通过chr()函数转换为对应的字符。反过来也可以通过ord()把字符转换为代码点。

$alef = chr(0x05D0);

若不想预先创建变量,也可以通过双引号内\x{}的形式创建。

"\x{03B1}\x{03C9}"

比较操作符

** == eq
!= ne
< lt
> gt
<= le
>= ge
**

Perl内的if控制结构和c一样(只是必须要加花括号)

布尔值

Perl没有专门的布尔类型变量

  • 如果是数字,0为假,其余为真
  • 如果是字符串,空字符串为假,其余为真
  • 如果既不是数字也不是字符串,就先进行转换

小技巧,连续两次!操作,可以得到表示布尔值的变量

$still_true = !!'0'

获取用户输入

"行输入"操作符<STDIN>
把<STDIN>放在程序希望返回标量值的位置,Perl会从标准输入读取一行文本。这一过程是阻塞的,且由<STDIN>返回的字符串一般在末尾都会带有换行符

$line = <STDIN>;
print $line;

chomp操作符

chomp()的任务就是去除一个字符串单个变量的末尾的换行符,如果字符串后面有两个以上的换行符,chomp只删除一个,如果结尾处没有换行符,就直接返回0。返回值是被移除的字符数。

while控制结构和c一样

undef值

在首次赋值之前,变量的初始值就是特殊的undef值,当数字用则是0,当字符串用则是空字符串。

defined函数

行操作符<STDIN>有时候会返回undef,例如读到文件结尾时的情况,要判断某个字符串是undef而不是空字符串,可以使用defined函数,若是undef,函数返回假

defined($test)

相关文章

  • 标量数据

    Perl用标量来称呼单个事物,这是Perl里最简单的一种数据类型 数字在Perl中总是按照双精度浮点数来保存数字进...

  • 第3章 列表与数组

    列表(list):标量的有序集合。--数据数组(array):储存列表的变量。--变量“标量-标量变量;列表-数组...

  • Perl语言学习(二)Perl数据类型

    1、Perl数据类型之标量 标量:Scalar,以$符号开头数字标量:值为”数字“的标量Perl中的数字全部为双精...

  • 【原创】GraphQL学习:接口、联合类型、输入类型

    GraphQL中数据类型分为标量类型和其他高级数据类型,标量类型即基础数据类型,包含Int、Float、Strin...

  • $ @

    $ 该限定符表示的是 标量,标量都是单一的,单一的数字或者单一的字符串。标量是一个单一的数据单元。 数据可以是...

  • PHP数据类型

    数据类型 数据类型分为三种:标量型、复合型、特殊类型标量型: 复合型 特殊类型 数据类型检测 PHP中变量的数据类...

  • Perl学习笔记1——标量数据与perl初步

    标量的概念 Perl使用标量来称呼单个事物,标量是Perl中最简单的一种数据类型。标量可分为两种:数字和字符串。在...

  • 第3天 PHP数据类型及运算

    4. 数据类型 4.1. 数据类型分类与概述 4.1.1. 标量类型: 标量类型也可以理解为“基本类型”,“简单类...

  • 学习小组Day6笔记--董昆

    这一部分主要介绍了数据类型和数据读取 先上导图 数据部分主要介绍了向量、数据框 向量 标量和向量的区分标量:一个元...

  • R数据结构之标量与向量

    R的数据结构主要有标量、向量、矩阵、数组、数据框、列表。 标量是只含一个元素的向量,例如f<-3 ,g<-True...

网友评论

      本文标题:标量数据

      本文链接:https://www.haomeiwen.com/subject/tegkvqtx.html