基本的I/O操作:
输出:
print “Hello\n”;
print “Say \”Hello\” to NG” , ”\n”;
“<<”(本地文档操作符)使用格式:
print <<“文档标志”
输出内容
文档标志
1 :“<<”与“文档标志”之间不能有空格;
2 :末尾的文档标志应顶头书写,标识输出结束
输入$AGRV[0]
读取标准输入<STDIN>:$line=<STDIN>;
文件输入:
#打开句柄:
open IN,“<$infile” or die$!; #读文件
# 或者:open IN,$infile ordie$!;
my $line=<IN>; # <> 钻石符
print $line;
close IN; #关闭句柄
输出到文件
#打开句柄:
open OUT,”>”,$outfile or die$!; # 打开文件$outfile
# 或者:openOUT,”>$outfile” or die$!;
#追加到文件(原来文件中的内容保留):
open OUT,”>>$outfile” or die$!;
#输出内容到文件:
print OUT “Hello, NG\n”; #输入内容Hello NG到文件中
#关闭句柄:
close OUT; # 输出结束
$/(当前输入记录分隔符,默认是换行符)的使用:
输入文件test.fasta:
>Scaffold1
AAAAATCTA
GACGA
>Scaffold2
ATCTAAATAT
TTTAAC
open IN,”<test.fasta” or dir$!;
my $line = <IN>;print $line; #显示:>Scaffold1
$line = <IN>;print $line; #显示:AAAAATCTA
$line = <IN>;print $line; #显示:GACGA
close IN;
$/=“>”; #把输入记录分隔符改为”>”
open IN,”<test.fasta” or dir$!;
my $line = <IN>;
print $line; #显示:>
$line = <IN>;
print $line;
close IN;
#显示:
>Scaffold1
AAAAATCTA
GACGA
>
只输出第一条序列:
open IN,”<test.fasta” or dir$!;
$/=“>”; # 把输入记录分隔符改为”>”
<IN>; #跳过第一个”>”之前的内容
my $line = <IN>;
chomp $line; # 删掉末尾的”>”
print “>”,$line;
close IN;
$/=“\n”; # 把输入记录分隔符改为”\n”
#显示
>Scaffold1
AAAAATCTA
GACGA