Chinaunix
标题:
Perl 高效编程第59页关于join '',<$fh>;
[打印本页]
作者:
小perl
时间:
2011-10-16 21:58
标题:
Perl 高效编程第59页关于join '',<$fh>;
有这么一段代码:
my $file;
{
local $/;
open my ($fh),'<',$filename or die;
$file=join '',<$fh>;
}
复制代码
为什么还要用join '',<$fh>?直接是<$fh>不行吗?join好像多此一举了,并且在这也不起作用。求解。。。
作者:
kk861123
时间:
2011-10-16 23:09
回复
1#
小perl
$file = <$fh>;
复制代码
只能取到一行,
$file = join '',<$fh>;
复制代码
会一次性从$fh中读完然后用join连接成一个标量。
作者:
小perl
时间:
2011-10-17 00:10
回复
2#
kk861123
但是不用 join也可以啊,也是一次性的读取所有内容到一个变量$file,因为现在输入分隔符为空,所有内容变为一个很长的字符串了,而join是连接多个字符串。
比如$filename的内容如下:
a b c
1 2 3
则最后$file里保存的是"a b c\n1 2 3" 这一个字符串,看不出join在这有什么用,不解。。。
作者:
kk861123
时间:
2011-10-17 08:10
本帖最后由 kk861123 于 2011-10-17 08:14 编辑
回复
3#
小perl
是的,没用... 使用了
local $/;
复制代码
与
join '',<$fh>;
复制代码
作用是重复的。
不知道大侠们有什么高见?
作者:
小perl
时间:
2011-10-17 09:19
回复
4#
kk861123
仙子
作者:
小perl
时间:
2011-10-17 10:36
仙子 flw zhlong8 guagua
?
作者:
zhlong8
时间:
2011-10-17 10:43
自信点行不,心里没底了就查查 $/ 和 join 的文档,做做实验。心里有底了就算是 Larry 写的你也要敢批
作者:
gaoyang636
时间:
2011-10-17 10:54
试了下,去掉没发现变化
同等高人
作者:
小perl
时间:
2011-10-17 11:06
回复
7#
zhlong8
版主批评的是,我这习惯不好,总想依赖人,自己不先查看文档!
作者:
斯文牛氓
时间:
2011-10-17 13:55
回复
2#
kk861123
join 是列表上下文的....
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2