print "Hello, world\n"; print("Hello, world\n");
Perl双引号和单引号的区别: 双引号能够正常解析一些转义字符与变量,而单引号没法解析会原样输出。
一、标量:$myfirst=123;编程
二、数组:@arr=(1,2,3);数组
@names = ('google', 'runoob', 'taobao'); @copy = @names; # 复制数组 $size = @names; # 数组赋值给标量,返回数组元素个数 push(@sites, "baidu"); # 在数组结尾添加一个元素 unshift(@sites, "weibo"); # 在数组开头添加一个元素 pop(@sites); # 删除数组末尾的元素 shift(@sites);# 移除数组开头的元素
# 用split()方法将字符串转为数组
@string = split('-', $var_string);
# 用join()方法将数组转为字符串
$string1 = join( '-', @string );
三、散列:%h=('a'=>1,'b'=>2);编程语言
%data = ('google', 45, 'runoob', 30, 'taobao', 40); print "\$data{'google'} = $data{'google'}\n";
$size = @keys; # 赋值给标量,返回元素个数
使用 keys 函数读取哈希全部的键:keys %HASH
%data = ('google'=>'google.com', 'runoob'=>'runoob.com', 'taobao'=>'taobao.com');
@names = keys %data;
使用 values 函数来读取哈希全部的值:values %HASH
%data = ('google'=>'google.com', 'runoob'=>'runoob.com', 'taobao'=>'taobao.com');
@urls = values %data;
一、if语句:函数
$a = 100; # 使用 == 判断两个数是否相等 if( $a == 20 ){ # 条件为 true 时执行 printf "a 的值为 20\n"; }elsif( $a == 30 ){ # 条件为 true 时执行 printf "a 的值为 30\n"; }else{ # 以上全部的条件为 false 时执行 printf "a 的值为 $a\n"; }
二、case语句:google
use Switch; $var = 10; @array = (10, 20, 30); %hash = ('key1' => 10, 'key2' => 20); switch($var){ case 10 { print "数字 10\n" } case "a" { print "字符串 a" } case [1..10,42] { print "数字在列表中" } case (\@array) { print "数字在数组中" } case (\%hash) { print "在哈希中" } else { print "没有匹配的条件" } }
二、for语句:url
# 执行 for 循环 for( $a = 0; $a < 10; $a = $a + 1 ){ print "a 的值为: $a\n"; }
三、foreach语句:spa
@list = (2, 12, 36, 42, 51); # 执行foreach 循环 foreach $a (@list){ print "a 的值为: $a\n"; }
last 语句用于退出循环语句块;scala
continue 块一般在条件语句再次判断前执行。code
foreach $a (@listA){ statement(s); }continue{ statement(s); }
# 函数定义 sub Hello{ print "Hello, World!\n"; } # 函数调用 Hello();
一、perl 函数传参:blog
Perl 子程序能够和其余编程同样接受多个参数,子程序参数使用特殊数组 @_ 标明。
所以子程序第一个参数为 $_[0], 第二个参数为 $_[1], 以此类推。
不论参数是标量型仍是数组型的,用户把参数传给子程序时,perl默认按引用的方式调用它们。
# 定义求平均值函数 sub Average{ # 获取全部传入的参数 $n = scalar(@_); $sum = 0; foreach $item (@_){ $sum += $item; } $average = $sum / $n; print '传入的参数为 : ',"@_\n"; # 打印整个数组 print "第一个参数值为 : $_[0]\n"; # 打印第一个参数 print "传入参数的平均值为 : $average\n"; # 打印平均值 } # 调用函数 Average(10, 20, 30);
子程序能够向其余编程语言同样使用 return 语句来返回函数值。
若是没有使用 return 语句,则子程序的最后一行语句将做为返回值。