关于perl中的字符串中的方括号和变量替换 :盼详细解答

字符串中的方括号和变量替换
    "$var[0]" 为数组@var的第一个元素。
    "$var\[0]" 将字符"["转义,等价于"$var". "[0]",$var被变量替换,[0]保持不变。
    "${var}[0]" 亦等价于"$var" ."[0]"。
    "$\{var}"则取消了大括号的变量替换功能,包含文字:${var}.
我读上面这段话时好绕啊,谁能用语法知识详细解释一下为什么以便于我理解吗?多谢了

第一行你应该明白意思吧~就是数组中的第一个元素

第二行的反斜杠 \ ,一般用作转义字符和引用。这里的是作用是转义。
这里做一个比方 \n.是换行符你知道吧。但是你想用print 把\n 打印出来怎么办。这里就要\\n。具体可以在在书上的讲解

第三行和第一行意思一样~也是数组中第一个元素。表达的方式不一样,你觉得哪一种直观就用哪一种

第四行和第二行意思一样。说的很直观。取消了大括号的变量替换功能。就是一个字符串"${var}" 不是变量

呵呵,希望你能看懂
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-21
自己运行去理解。
#!/usr/bin/perl
use strict;
# "$var[0]" 为数组@var的第一个元素。
# "$var\[0]" 将字符"["转义,等价于"$var". "[0]",$var被变量替换,[0]保持不变。
# "${var}[0]" 亦等价于"$var" ."[0]"。
# "$\{var}"则取消了大括号的变量替换功能,包含文字:${var}.
my $var='aaaaaa';
my @var=('b1','b2','b3');
local $\{var}='c1';
my %var=(0=>'e1',1=>'e2');
print "$var[0]";
print "\n";
print "$var\[0]";
print "\n";
print "${var}[0]";
print "\n";
${var}='d1';
print "${var}[0]";
print "\n";
print "$\{var}";
print "\n";本回答被网友采纳
相似回答