perl连接字符串_Perl学习01之标量数据

a5bb0c622ba3d9c63b5f124c4a08486f.png
本篇主要介绍Perl中 数字标量和字符串标量的相关基础知识;

目录

欢迎微信随缘关注@pythonic生物人

1 数字

浮点数 整数 数字操作符

2 字符串

单引号(A single-quoted string literal) 双引号(A single-quoted string literal) 字符串操作符 重复操作符 数字与字符串之间的转换

3 标量变量

变量命名规则 标量等号赋值 标量双目赋值符赋值 字符串变量内插 数值标量与字符标量比较操作符 chomp函数 chop函数 substr函数 split函数

1 数字

  • 浮点数

3.25e20 3.25乘以25的20次方;

  • 整数

1415926 1_415_926,Perl允许整数之间加下划线以便以清楚可识别。

例如,int1.pl

#!/usr/bin/perl
use strict;
use warnings;

my $int1 = 1_415_926;
print "$int1n";

perl int1.pl

1415926

  • 数字操作符

加(+),减(-),乘(*),除(/),取模(%),求幂(2**3为2的3次方等于8)

例如,compute.pl

#!/usr/bin/perl
my $compute_result = 10%4;
print "$compute_resultn";

perl compute.pl

2

2 字符串

  • 单引号(A single-quoted string literal)

支持转义,引号内的任何字符都是字符本身,例如,n不是换行符,t不是tab键

例如,string1.pl

#!/usr/bin/perl
use strict;
use warnings;

my $string1 = 'perltn';
my $string2 = 'perltn'; #此时t n分别表示tab键和换行符;
print "$string1n";
print "$string2n";

perl string1.pl

perltn

perltn

  • 双引号(A single-quoted string literal)

此时表示特殊含义

例如,string2.pl

#!/usr/bin/perl
use strict;
use warnings;
my $string1 = "perltperl1n"; #t表示tab,n表示换行;
print "$string1n";
  • 字符串操作符

句点操作符

句点操作符(.),连接句点前后的字符串,句点前后的字符不会发生任何修改。

例如,string3.pl

#!/usr/bin/perl
use strict;
use warnings;

my $string1 = "Come";
my $string2 = "on!";
my $string3 = $string1.$string2;
print "$string3n";
print "$string1"." "."$string2"."n";#string1 空格 string2

perl string3.pl

Comeon!

Come on!

  • 重复操作符

重复操作符(string repetition operator),将字符拷贝多次,当次数为非整数时,向下取整(若4.8则取5)

例如,string4.pl

#!/usr/bin/perl
use strict;
use warnings;

my $string4 = "Comeon!t"x3;
my $string5 = "Comeon!t"x3.5;
print "$string4n";
print "$string5n";
 perl string4.pl

perl string4.pl

Comeon! Comeon! Comeon!

Comeon! Comeon! Comeon!

  • 数字与字符串之间的转换

Perl会根据操作符自动完成转换,使用者只需正确使用操作符。

例如,string5.pl

#!/usr/bin/perl
use strict;
use warnings;

my $string6 = "12fred34" * "3";
my $string7 = "Z" . 5 * 7;
print "$string6n";
print "$string7n";

perl string5.pl

Argument "12fred34" isn't numeric in multiplication (*) at string6.pl line 5. #Perl会发出警告

36

Z35

3 标量变量

存储一个值的变量,变量名称在整个程序中保持不变,但是变量值可以随着程序执行发生改变。

  • 变量命名规则

以$符号(魔符sigil)开头,后接变量标识符;

变量标识符由字母、数字及下划线构成,但是变量标识符的首字符不能为数字;

变量名称区分大小写,例如,

scalar不同;
  • 标量等号赋值

$fred = 17; #将17使用赋值符等号赋值给变量$fred

  • 标量双目赋值符赋值

例如,

scalar + 4; 等价于$scalar += 4;
  • 字符串变量内插

在字符串中引用另外一个变量。

例如,string6.pl

#!/usr/bin/perl
use strict;
use warnings;

my $string6 = "Lady cai";
my $string7 = "I like $string6 !";
print "$string7n";

perl string6.pl

I like Lady cai !

  • 数值标量与字符标量比较操作符
数值标量  字符标量  含义
==  eq  等于
!=  ne  不等与
<  lt  小于
>  gt  大于
<=  le  小于等于
>=  ge  大于等于
  • chomp函数

去掉字符串末尾换行符,chomp()函数的返回值是

例如,chomp1.pl

#!/usr/bin/perl
use strict;
use warnings;

my $text = "Start from heren";
print "$textn";#此处会输出两个换行符
my $text1 = chomp ($text);# 返回值为去掉的字符个数,去掉1个n,所以输出为1
print "$textn";#此处只输出一个换行符
print "$text1n";

perl chomp1.pl

Start from here

Start from here

1

chop函数

去掉末尾字符

例如,chop.pl

#!/usr/bin/perl
use strict;
use warnings;

my $scalar1="Perl";
my $chop1=chop $scalar1;#返回去掉的值,修改原字符
print "$scalar1n";
print "$chop1n";

perl chop.pl

Per

l

substr函数

取出字符一部分,语法如下:

substr EXPR,OFFSET,LENGTH,REPLACEMENT

EXPR,待处理字符串

OFFSET,处理起始位置为0时,从第一个字符开始,为负时从右端开始

LENGTH,如果不提供值,从起始位置至末尾

REPLACEMENT,替换取出的字符

例如,substr1.pl

#!/usr/bin/perl
use strict;
use warnings;

my $string="I love LadyCai";
my $substr1=substr $string,1;
my $substr2=substr $string,1,3;
my $substr3=substr $string,1,3,"XX";
print "$substr1n";
print "$substr2n";
print "$substr3n";
print "$stringn";#原字符已改变

perl substr1.pl

love LadyCai

lo

lo

split函数

将字符串分割为一个数组。

语法:split /PATTERN/,EXPR,LIMIT

  • If only PATTERN is given, EXPR defaults to $_
  • PATTERN,分隔符,可以是正则,可以同时指定多个分隔符,defaults是 " ",省略分隔符所有连续空白都会被当作单个分隔符;
  • LIMIT,表示最多分割为几个元素,defaults为1,若则表示尽可能多地分隔。
 #limit,限制分割次数
 print join(':', split(//, 'abc', 1)), "n"; #abc
 print join(':', split(//, 'abc', 2)), "n"; #a:bc
 print join(':', split(//, 'abc', 3)), "n"; #a:b:c
 print join(':', split(//, 'abc', 4)), "n"; #a:b:c

4 参考资料

小骆驼
https://perldoc.perl.org

欢迎微信随缘关注@pythonic生物人

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值