perl 学习

参考链接:https://www.runoob.com/perl/perl-syntax.html

print

#!/usr/bin/perl

print "hello\n";

注释

#!/usr/bin/perl

# 这一行是 perl 中的注释

print("hello\n");


=pod 注释
这是一个多行注释
这是一个多行注释
这是一个多行注释
这是一个多行注释
print("again?\n");
=cut

print("done\n");

长字符串变量

#!/usr/bin/perl

$a = 10;
$var = <<"EOF";
这是一个 Here 文档实例,使用双引号。
可以在这输入字符串和变量。
例如:a = $a
EOF
print "$var\n";

$var = <<'EOF';
这是一个 Here 文档实例,使用单引号。
例如:a = $a
EOF
print "$var\n";

转移字符

#!/usr/bin/perl

$result = "菜鸟教程 \"runoob\"";
print "$result\n";
print "\$result\n";

数据类型

标量

标量是 Perl 语言中最简单的一种数据类型。这种数据类型的变量可以是数字,字符串,浮点数,不作严格的区分。在使用时在变量的名字前面加上一个 $,表示是标量。例如:

$myfirst=123;     #数字123

$mysecond="123";   #字符串123

数组

数组变量以字符 @ 开头,索引从 0 开始,如:@arr=(1,2,3)

@arr=(1,2,3)

哈希

哈希是一个无序的 key/value 对集合。可以使用键作为下标获取值。哈希变量以字符 % 开头。

%h=('a'=>1,'b'=>2);

创建变量

#!/usr/bin/perl

$age = 25;             # 整型
$name = "runoob";      # 字符串
$salary = 1445.50;     # 浮点数

print "Age = $age\n";
print "Name = $name\n";
print "Salary = $salary\n";

#!/usr/bin/perl

@ages = (25, 30, 40);
@names = ("google", "runoob", "taobao");

print "\$ages[0] = $ages[0]\n";
print "\$ages[1] = $ages[1]\n";
print "\$ages[2] = $ages[2]\n";
print "\$names[0] = $names[0]\n";
print "\$names[1] = $names[1]\n";
print "\$names[2] = $names[2]\n";


#!/usr/bin/perl

%data = ('google', 45, 'runoob', 30, 'taobao', 40);

print "\$data{'google'} = $data{'google'}\n";
print "\$data{'runoob'} = $data{'runoob'}\n";
print "\$data{'taobao'} = $data{'taobao'}\n";

#!/usr/bin/perl

@names = ('google', 'runoob', 'taobao');

@copy = @names;   # 复制数组
$size = @names;   # 数组赋值给标量,返回数组元素个数

print "名字为 : @copy\n";
print "名字数为 : $size\n";

条件语句

#!/usr/local/bin/perl

$name = "菜鸟教程";
$favorite = 10;     # 喜欢数

$status = ($favorite > 60 )? "热门网站" : "不是热门网站";

print "$name - $status\n";

#!/usr/bin/perl

$a = 10;

if($a > 20){
    print "\$a > 20\n";
}
else{
    print "\$a <= 20\n";
}

#!/usr/bin/perl

use Switch;

switch(argument){
   case 1            { print "数字 1" }
   case "a"          { print "字符串 a" }
   case [1..10,42]   { print "数字在列表中" }
   case (\@array)    { print "数字在数组中" }
   case /\w+/        { print "正则匹配模式" }
   case qr/\w+/      { print "正则匹配模式" }
   case (\%hash)     { print "哈希" }
   case (\&sub)      { print "子进程" }
   else              { print "不匹配之前的条件" }
}

循环语句


文章目录