3.控制流
if(){
}
elsif(){
}
else{
}
switch($val){
case 1 {}
case "a" {}
case ...
else {}
}
unless() {} #除非,如果不
while() {} #条件为真时,重复执行
until() {} #until 与 while 不同的是:当条件为真时退出
for (initialization, boolean_expression, increment)
{sequence_of_statements;}
foreach VAR (list){} #列表中的每个元素依次赋给循环变量,并对每个元素执行一次循环语句。
last 控制流允许你跳到当前循环的末尾, 也就是跳出循环。它类似 c 语言中的 break。
next 控制流允许你跳到当前循环的末尾, 开始下一次循环。它类似 c 语言中的 continue。
continue块 在 next 控制流跳到当前循环的末尾之前执行。
redo 类似上面的 next 语句,但是不会判断循环的退出条件,直接进行下一次循环。
4.文件与目录
写文件:
$append = 0;
if ($append)
{
open(MYOUTFILE, ">filename.out"); #覆盖写
}
else
{
open(MYOUTFILE, ">>filename.out"); #追加写
}
print MYOUTFILE "The first line\n";
print MYOUTFILE "The second line\n";
close(MYOUTFILE);
读文件:
open(MYINPUTFILE, "<filename.out");
my(@lines) = <MYINPUTFILE>; #读所有
foreach my $line (@lines)
{
# 把结尾的换行符去掉。
chomp($line);
# 把该行的小写转换成大写。
$line =~ tr/[a-z]/[A-Z]/;
print "$line\n";
}
close(MYINPUTFILE);
#一行一行的读
open(MYINPUTFILE, "<filename.out");
while(<MYINPUTFILE>)
{
print "rede oneline is $_"; #$_ 是默认参数的意思,指的是在不指定的情况下,程序处理的上一个变量
}
close(MYINPUTFILE);
#删除文件
unlink("filename.out");
unlink("a.txt","b.txt");
unlink <*.o>; #如同 shell 命令 "rm *.o"
#重命名
rename("c.txt","d.txt");
rename("xx","yy");
#创建目录
mkdir("gravelpit",0777);
#删除目录
rmdir("yy")
if(){
}
elsif(){
}
else{
}
switch($val){
case 1 {}
case "a" {}
case ...
else {}
}
unless() {} #除非,如果不
while() {} #条件为真时,重复执行
until() {} #until 与 while 不同的是:当条件为真时退出
for (initialization, boolean_expression, increment)
{sequence_of_statements;}
foreach VAR (list){} #列表中的每个元素依次赋给循环变量,并对每个元素执行一次循环语句。
last 控制流允许你跳到当前循环的末尾, 也就是跳出循环。它类似 c 语言中的 break。
next 控制流允许你跳到当前循环的末尾, 开始下一次循环。它类似 c 语言中的 continue。
continue块 在 next 控制流跳到当前循环的末尾之前执行。
redo 类似上面的 next 语句,但是不会判断循环的退出条件,直接进行下一次循环。
4.文件与目录
写文件:
$append = 0;
if ($append)
{
open(MYOUTFILE, ">filename.out"); #覆盖写
}
else
{
open(MYOUTFILE, ">>filename.out"); #追加写
}
print MYOUTFILE "The first line\n";
print MYOUTFILE "The second line\n";
close(MYOUTFILE);
读文件:
open(MYINPUTFILE, "<filename.out");
my(@lines) = <MYINPUTFILE>; #读所有
foreach my $line (@lines)
{
# 把结尾的换行符去掉。
chomp($line);
# 把该行的小写转换成大写。
$line =~ tr/[a-z]/[A-Z]/;
print "$line\n";
}
close(MYINPUTFILE);
#一行一行的读
open(MYINPUTFILE, "<filename.out");
while(<MYINPUTFILE>)
{
print "rede oneline is $_"; #$_ 是默认参数的意思,指的是在不指定的情况下,程序处理的上一个变量
}
close(MYINPUTFILE);
#删除文件
unlink("filename.out");
unlink("a.txt","b.txt");
unlink <*.o>; #如同 shell 命令 "rm *.o"
#重命名
rename("c.txt","d.txt");
rename("xx","yy");
#创建目录
mkdir("gravelpit",0777);
#删除目录
rmdir("yy")