目录
双引号可以正常解析一些转义字符与变量,而单引号无法解析会原样输出。
$a = 10;
print "a = $a\n"; # a = 10
print 'a = $a\n'; # a = $a\n
Here文档又称作heredoc、hereis、here-字串或here-脚本,是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字串的方法。
#!/usr/bin/perl
$a = 10;
$var = <<"EOF";
这是一个 Here 文档实例,使用双引号。
可以在这输如字符串和变量。
例如:a = $a
EOF
print "$var\n";
$var = <<'EOF';
这是一个 Here 文档实例,使用单引号。
例如:a = $a
EOF
print "$var\n";
# 输出
# 这是一个 Here 文档实例,使用双引号。
# 可以在这输如字符串和变量。
# 例如:a = 10
#
# 这是一个 Here 文档实例,使用单引号。
# 例如:a = $a
$myfirst=123; #数字123
$mysecond="123"; #字符串123
@names = (‘google’, ‘runoob’, ‘taobao’);
@copy = @names; # 复制数组 $size = @names; # 数组赋值给标量,返回数组元素个数
print “名字为 : @copy\n”; print “名字数为 : $size\n”;
@names 是一个数组,它应用在了两个不同的上下文中。第一个将其复制给另外一个数组,所以它输出了数组的所有元素。第二个我们将数组赋值给一个标量,它返回了数组的元素个数。
+ 哈希
```perl
%h=('a'=>1,'b'=>2);
各种转义字符的意思详见http://www.runoob.com/perl/perl-data-types.html
#!/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";
所谓上下文:指的是表达式所在的位置。 上下文是由等号左边的变量类型决定的,等号左边是标量,则是标量上下文,等号左边是列表,则是列表上下文。