Perl-2标量数据

1、标量:数字

浮点数(小数)、整数

非十进制的整数

十六进制
八进制
二进制

数字操作符:

+        -        *        /        %        **

例子:浮点数

$a = 1.25;
$b = 255.0;

$c = $a + $b;

print $c;

print "\n";
$a = 7.25e45;
print $a;

print "\n";
$b = -6.5e24;
print $b;

print "\n";
$c = -12e-24;
print $c;

#e大小写都可以
#但是perl区分大小写

 结果:

例子:整数

$x = 2001;
$y = -40;

$z =$x -$y;
print "\n";
print $z;

$a = 255;
$b = 61298042326737383;#但是这样看不清是多少数,要分割

print "\n";
print $a;
print $b;


#perl里面逗号有特殊的作用
#$c = 61,298,040,283;这样不可以
#改成
$c = 61_298_040_283;

 例子:非十进制

$a = 0377;    #八进制
$b = 0x56;    #16进制

print "\n" . $a;
print "\n" . $b;    # .表示把前面和后面连在一起

$c = 0b10100001;    #2进制
print "\n" . $c; 

$a = 037;
print "\n" . $a;
$b = 0x56_65_72_7C;
print "\n" . $b;

结果:

例子:数字操作符

$r = 2 + 3;
print "\n" . $r;

$r = 5.1 - 2.4;
print "\n" . $r;

$r = 3 * 12;
print "\n" . $r;

$r = 14 / 2;
print "\n" . $r;

$r = 10.2 / 0.3;
print "\n" . $r;

$r = 10 / 3;
print "\n" . $r;

$r = 11 % 3;    #取模,取余数
print "\n" . $r;

$r = 10.5 % 3.2;    #这个要先化成整数,在做取模
print "\n" . $r;

$r = 3 ** 2;    #乘方运算,3的2次方
print "\n" . $r;

$r = 2 ** 10;    
print "\n" . $r;

结果:

2、标量:字符串


单引号字符串
双引号字符串
\n        \r
\ t        \b
\ a        \f
字符串操作符(2个)
.
x
字符串中的变量内插(变量替换)–双引号内插

例子:

$a = "hello";
$b = 'hello';
print $a;
print "\n";
print $b;

print "hello perl";
print "\n";
print 'hello perl';

双引号和单引号的区别:

首先,新建文件夹和文本文档

 

print 'D:\bag\truck\apple.txt';

print "\n";

print "D:\bag\truck\apple.txt";

结果:

原因:

 双引号字符串中
\n        \r        \ t        \b        \ a        \f

这些是转义字符,有特殊含义

\b :回退三个符号

\t:tab键,制表符,空格

\a:电脑响一下

\n:换行

如果双引号里面想要保留/,要多写一个/

print "D:\\bag\\truck\\apple.txt";

 字符串中,第一个'表示开始,第二个'表示结束

print 'Don't do it';

在这里,'Don'已经是完整的字符串了,后面的字符是打印不出来的

正确做法:        \'

print 'Don\'t do it';

单引号里有双引号:

print 'I say "you and me"';

 双引号里有单引号:

print "Don't do it!";

 单引号里的\n不表示换行,换行要双引号里的\n。

print 'hello\n';
print 'hello\n';
print 'hello\n';

print "hello\n";
print "hello\n";
print "hello\n";

print "\n";

 

 字符串操作符

.     表示把字符串连接起来

$m = 10;
print "hello" . $m . "perl";

print "\n";

$score = 98;
print "你的考试分数是" . $score . "分";

 

 x     表示把多少个字符串连在一起,不是乘法。

print "hello" x 10

print 5 x 10;

print "barney" x (4+1) . "\n";

 

 字符串中的变量内插(变量替换)–双引号内插

内插:变量的值插入字符串中

 不能用单引号来进行内插

$score = 98;
print "你的考试分数是 $score 分";

$what = "brontosqurus steak";
$n = 3;
print "fred ate $n ${what}s.\n";

#如果不加括号,print "fred ate $n $whats.\n"打印不出来$what的内容
print "fred ate $n $whats.\n";

3、标量数据


数字与字符串之间的自动转换

标量变量

双目赋值操作符

用print输出结果

比较操作符
==        !=        <        >        <=        >=
eq        ne        lt        gt        le        ge

if控制结构

字符串转换成数字

print "12" * "3";
print "\n";
print"12fred45" * "3";
print "\n";
print"fred" * "3";
print "\n";
print "hello" . 8;
#8变成字符串

print "hello" . 8*6;
#先做乘法,然后在转换成字符串

标量变量

$fred = 8+6;
$Fred = 6**2;
print "\n";
print "hello" . $fred;
print "\n";
print "hello" . $Fred;
print "\n";
$_hello = 99;
#9a = 11;无效变量
print $_hello;

双目赋值操作符

#双目赋值操作符
$fred = 5;
$fred =$fred + 5;
$fred +=5;

$barney = 17;
$barney *= 3;
print "\n" . $barney;

$str = "hello";
$str .= " ";
$str .= "Perl";
print "\n" . $str;

用print输出

print "\nThe answer is" . 6*7 . "\n";
print "\nThe answer is" , 6*7 , "\n";	#列表。三个标量用逗号隔开

if控制结构、比较操作符:

数字比较:
==        !=        <        >        <=        >=

$a = 5;
$b = 12;

if($a == $b){
	print "相等\n";}
else{
	print "不相等\n";}

if($a >= $b){
	print "$a比$b小\n";
}

字符串比较:
eq        ne        lt        gt        le        ge(与上面的符号一一对应)

$m = "张飞";
$n = "刘备";
if($m ne $n){
    print "不相等\n";
}

if($m eq "林冲"){
    print "$m是林冲\n";
}
else{
    print "$m不是林冲\n";
}


if($m gt $n){
    print "$m大于$n\n";
}

if($m lt $n){
    print "$m小于$n\n";
}

4、标量数据

获取用户输入

chomp操作符

while控制结构

undef 值

defined 函数

chomp操作符

$a = "hello\n\n\n";
$b = chomp($a);	
# chomp把字符串最后的一个\n去掉,返回值是1。如果字符串里面没有\n,就什么也不做
print $a;
print $b;

 读取用户输入:

print "输入你的姓名:";
chomp($name = <STDIN>);

#STDIN,表示标准输入,即键盘。<>行输入操作符
print "你的姓名是"  . $name;

#输入名字后,会按回车键,这个回车键也包含在输入的内容里面。用chomp去掉这个回车

while循环语句:

$count = 0;
while($count <= 10){
    print $count . "\n";
    $count += 2;
}

undef 值   未定义

print "\n";

# $x = 1;

print $x +1;    #$x未进行初始化,perl语言将其初始化为0;

print "\n";

# $s = "perl";

print "hello" . $s;    #$s未进行初始化,perl语言将其初始化为0长度字符串(空字符串);
$k = 12;

print "\n";

$k = undef;
print $k;    #打印出来什么都没有
$n = 1;
while ($n < 10){

    $sum += $n;
    $n++;

}

defined函数:检测是否为定义的

$madonna = <STDIN>;

if(defined($madonna)){

    print "The input was $madonna";

}
else{

   print "NO input avalible";

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值