2020-04-02

2020-04-02  本文已影响0人  东方不赞

Perl-小骆驼书~学习笔记

Perl的逻辑:丑则丑矣,效率高啊。吃苦能干,小骆驼也!

[TOC]

1.标量数据

标量scalar包含数字和字符串。

1.1 数字

数字内部格式为双精度浮点型

1.2 字符串

转义:

意义 组合 意义 组合 意义 组合
换行 \n 回车 \r 制表符 \t
换页 \f 退格 \b 响铃 \a
ctrl+c \cC 反斜线 \ \

1.3 字符串和数字的混用

Perl根据操作符来确定数字还是字符串

"123"+"456" #123+456=579
"123ef245"+"456" #123+456=579
"123"."456" #"123456"

1.4 标量变量

$开头,标识符的开头为_或字母,不能是数字开头。

$意味取"单个东西"或取"标量"

a=5;a=a+5;a*=5;




* 变量内插

```perl
$handsome="handsome very much\n";
$xiu="we are $handsome";
#或则用.串联起来
$xiu='we are'.$handsome;

1.5 print

print "hello world\n";
print 6*7;
print "My","English is so",6,"!\n";
#变量的输出
print $handsome;

1.5.1 内插歧义的避免

在变量后面接上字符容易歧义

$a="123";
#变量后面接字母、数字、下划线
print "$as" #error
print "${a}s" #123s
#变量后面接方括号、花括号、冒号、引号等,可将他们加斜线
print "$a\[ss]" #123[ss]
print "${a}[ss]" #123[ss]

1.5.2 代码点code point和字符的转换

基于utf8,有很多字符超出ASCII字符表。code point记录字符的十六进制“ID”,请允许我这么叫。它和字符之间是一一对应的关系的。

$omega=chr(0x03C9)
use utf8;
$顿号=ord('、');
#αω\n
print "\x{03B1}\x{03C9}\n";

1.6 操作符

操作符 结合性 注释
++,--,** 自增,自减,自乘
=~,! ~
意义 数字大小比较 字符串比较
相等 == eq
不等 != ne
小于 < lt
大于 > gt
小于等于 <= le
大于等于 >= ge

1.7 if控制结构和while循环结构

与其他语言类似,略

1.8

1.8.1 用户输入<STDIN>

$get_in=<STDIN>;

1.8.2 chomp操作符

去除最后面的\n,若无则不处理

#去除输入的回车,并赋给$get_in
#chomp返回值为0或1,所以一般将他视为
chomp($get_in=<STDIN>);

1.8.3 undef

当做数字时视为0,当做字符串时视为空字符串""

1.8.4 defined函数-判断字符串是否为空

if(defined($a)){
    print "aaa\n";
}else{
    print "hhha\n";
}

1.9 章后作业

#!/usr/bin/perl -w
use utf8;
print "请输入半径:\n";
$banjing=<STDIN>;
if($banjing<0){
  print "周长是:\n0\n";
}else{
  $pai=3.141592654;
  $zhouchang=$banjing*2*$pai; 
  print "周长是:\n$zhouchang\n";
}
#!/usr/bin/perl -w
use utf8;
print "请输入字符串:\n";
$chars=<STDIN>;
print "请输入数字:\n";
$num=<STDIN>;
print "they are :\n";
while($num){
  print $chars;
  $num--;
}
上一篇 下一篇

猜你喜欢

热点阅读