Perl实验 结合数组和文件读取 2019/9/23
大小写转换 $str = lc($str); $str = uc($str); 2019/9/23
open CONFIG, “filename”; open CONFIG, “<filename”; 1:文件的读写 open CONFIG, “filename”; open CONFIG, “<filename”; open BEDROCK, “>filename”; open LOG,“>>filename”; 当Perl 内部发生了一个严重错误(fatal error),无法打开文件,可以利用die函数来返回发生错误的信息. 2019/9/23
例如:读取路径F:\教学课程\Per语言\perl理论\lesson4文件夹下的chr1.fa文件可以用语句: open IN,“ F:\\教学课程\\Per语言\\perl理论\\lesson4 \\chr1.fa" or die "can't open the data$!\n"; open IN,“< F:\\教学课程\\Per语言\\perl理论\\lesson4 \\chr1.fa" or die "can't open the data$!\n"; 2019/9/23
打开文件句柄以后,读取文件是应用钻石符号加上文件句柄,例如<IN>,一个<IN>代表文件的一行。 实验题目:读取ch1.fa文件的前10行,用print打印出来。(尝试用while循环,for循环,foreach循环分别实现程序)提示:perl中跳出循环是用last,和C语言中的break应用是一样的。 2019/9/23
例如:想把运行结果写到文件result.txt当中. 分两种情况:1:比如本地已经有result.txt文件,且result.txt文件当中本来也有内容,想把运行结果放到原来文件的内容的后面,可以用语句 open OUT,“>>F:\\教学课程\\Per语言\\perl理论\\lesson4 \\result.txt” or die “can‘t open the data$!\n”;(文件的追加) 2:如果本地没有result.txt文件,那么想自动创建result.txt文件并把运行结果保存进去,用语句 open OUT,“>F:\\教学课程\\Per语言\\perl理论\\lesson4 \\result.txt” or die “can‘t open the data$!\n”;(创建文件并写文件) 2019/9/23
提示:perl中跳出循环是用last,和C语言中的break应用是一样的。 实验题目:将ch1.fa文件的前10行字母改为小写字母,并将结果写到文件result.txt(用文件追加和创建并写文件两种方式,体会两种方式的差别)。 提示:perl中跳出循环是用last,和C语言中的break应用是一样的。 2019/9/23
实验题目:输出chr1.fa文件中所有不是全为N(其中N不区分大小写)的行,将结果保存到result1.txt当中。 2019/9/23
my @a=split(/\t/,$_); my @a=split(/\s+/,$_); 如何只读取文件的某列数据呢? 2019/9/23
因为perl读文件是一行一行进行读取的,所以读取某列的文件就相当于是循环读取每行的这列数据。 如: while(<IN>){ my @=split(/\s+/,$_);//$a[0]第一列,$a[1]第二列 } 2019/9/23
实验题目:输出chr1.txt文件中的第2列和第3列数据,将结果保存到本地当中(文件名自取)。 2019/9/23
实验题目:输出position.txt文件中的第3列数据,将结果保存到本地当中(文件名自取)。 2019/9/23
实验题目:根据实验课给的position.txt文件和chr1.txt文件,计算position文件中每行区间的平均甲基化水平。 提示:解该题的时候要注意把两个文件当中的哪个文件先存为数组,然后再通过循环依次计算每个区域的平均甲基化水平。 2019/9/23