[知乎问题]perl初级题目 - 读取文本到变量,脚本为什么运行不成功?

There's more than one way to do it!
https://metacpan.org http://perlmonks.org
回复
头像
vicyang
版主
版主
帖子: 56
注册时间: 2016年07月21日 20:35
联系:

[知乎问题]perl初级题目 - 读取文本到变量,脚本为什么运行不成功?

帖子 vicyang »

原问题https://www.zhihu.com/question/52650642
题目如下:打开文件A1.blast,把内容付给变量FILE
脚本如下:

代码: 全选

#!/usr/bin/perl 
open (FH,“E:/A1.blast”);
my $filename=“E:/A1.blast”;
$FILE=$filename;
print $FILE;
头像
vicyang
版主
版主
帖子: 56
注册时间: 2016年07月21日 20:35
联系:

Re: [知乎问题]perl初级题目我这个脚本为什么运行不成功?

帖子 vicyang »

示例 1 - 打开文件A1.blast ,把整个文件内容载入 $all 变量
说明:在标量环境下,默认返回1行内容,如果将全局变量(换行标记) $/ 临时设为 未定义,
那么读取一行也就变成了读取所有行。
#!/usr/bin/perl 
my $all;
my $fname = "E:/A1.blast";

open my $FH, "<:raw", $fname or die "$!";
{
local $/ = undef;
$all = <$FH>;
}
close $FH;

print $all;
示例2 - 打印a.pl本身的内容
说明:在数组环境下<FH>会自动返回所有行内容,然后用join把所有这些行连接返回到$all
open FH, "<:raw", __FILE__;
my $all = join("", <FH>);
close FH;

print $all;
回复

在线用户

正浏览此版面之用户: 没有注册用户 和 3 访客