分类: Python/Ruby
2012-06-17 22:24:12
关于PERL的几种变量
标量
$fred = 17;
$fred = ‘hello’;
$fred = $fred + 3;
$line =
If(){
Print “That was just a blank line!\n”;
}
Else
列表
列表直接量
(1,2,3) #表示1,2,3三个数字的列表
(1..100)#100个整数构成的列表
数组
$fred[0] = “yabba”;
$fred[1] = “dabba”;
引用整个数组:要在数组名之前加上@字符。
@rocks = qw / bedrock slate lava /;
列表赋值
($fred,$barney,$dino) = (“flintstone”,”rubble”,undef)
互换两者的值:
($fred, $barney) = ($barney,$fred)
foreach控制结构
foreach $rock (qw/bedrock slate lava/){
print “One rock is $rock”;
}
当循环的开头省略控制变量,PERL就启用变量$_。
foreach (1..10){
print “I can count to $_!\n”
}
标量上下文和列表上下文
所谓上下文:指的是表达式所在的位置。
如果是给列表赋值(元素个数不限),那就是列表上下文;如果是给数组赋值,那就是列表上下文。
例子:
标量上下文:
$fred = something;
$fred[3] = something;
123 + something;
if(something){…}
列表上下文呢:
($dino) = something; //列表上下文
($wilma,$betty) = something;
@people = something;
哈希
哈希元素使用语法:
$hash{$some_key}
$family_name{“fred”} = “flintstone”;
$family_name{“barney”} = “rubble”;
访问整个哈希:使用%作为前缀。
%family_name
胖箭头来表示哈希:
my %last_name = (
“fred” => “flintstone”,
“dino” => “undef”,
“barney” => “rubby”,
“betty” => “rubby”,
)
用%ENV中存取PATH的值。
$ENV{ORACLE_HOME} = $ORACLE_HOME;
$ENV{ORACLE_SID} = $ORACLE_SID;
$ENV{PATH} = "$ORACLE_HOME/bin:$PATH";
$EVN{LD_LIBRARY_PATH} = "$ORACLE_HOME/lib:$LIBPATH";