文件的读入与写出

读入文件

  1. open(FH, 'read.txt');
  2. @get = <FH>;
  3. close FH;

FH 为一个文件读写事件的标识,可以自行定义。
将读取的文本信息存入数组中,并按照换行符分割元素,即一行一个元素。
close 表示读取结束,关闭标识。

写出文件

open(FH, '>write.txt');
print FH "Hello World! \n";
close FH;

打开或者创建当前路径下(默认工作目录)中的.txt 文件,并往文件中写入内容。>表示写入,且将文件中的原有内容覆盖
print FH 表示将后面的内容写出到FH标识所代表的文件,而非写出到屏幕。
同上,最后通过close 表示读取结束,关闭标识。

续写文件

open(FH, '>>write.txt');
print FH 'Hello World! \n';
close FH;

打开或者创建当前路径下(默认工作目录)中的.txt 文件,并往其中续写内容。>>表示续写,文件中原有的内容不会被覆盖
print FH 表示将后面的内容写出到FH标识所代表的文件,而非写出到屏幕。
同上,最后通过close 表示读取结束,关闭标识。

屏幕输入

可以按照刚开始学习perl 那样,直接用print 的输入一段内容,在屏幕打印。

print 'Hello World! \n';

也可以使用<STDIN>,表示通过屏幕输入赋值。光标将停留以等待用户输入内容,输入后回车赋值。chomp 用于去除屏幕输入内容最后的回车。

print "What is your name?\n";
$name = <STDIN>;
chomp($name);
print "Hello, $name! \n";

获取下载网页

可以引用LWP 模块,使用get函数。
我们可以通过变量,将网址赋值给它。
接着可以通过get 获取页面全部内容(源代码)。
通过die 函数,当网页无法打开时,将强制结束程序,并屏幕打印。

use LWP:Simple;
$url = 'https://www.uniprot.org/uniprot/P0CW05.fasta';
$content = get $url;
die "Couldn't get $url" unless defined $content;
print $content;

批量下载并保存序列
029. perl 的高级语法(二) - 图1