perl 里面的$/=":"; 什么意思呢?
展开全部
请参阅Perl文档:
$/
The input record separator, newline by default. This influences Perl's idea of what a "line" is. Works like awk's RS variable, including treating empty lines as a terminator if set to the null string.
也就是一种输入记录的分隔符,举个例子,你原来读取文件的时候,默认的换行符是'\n',那么你知道每次读到'\n',就是一行结束。现在你可以把这个预定义变量换成“:”,那么现在的你读取文件的规则变了,就是每次遇到“:”符号的时候表示一行读完了。
如果文件data.txt的内容是:
C:C++:Java:Perl:Python:Ruby
那么如下的代码
#!perl
use strict;
use warnings;
my $file = "data.txt";
local $/ = ":";
open FILE, "<", $file or die "Can't open the file:", $!;
while (<FILE>)
{
chomp;
print $_, "\n";
}
close FILE;
执行后的结果就是:
C
C++
Java
Perl
Python
Ruby
明白啦?
$/
The input record separator, newline by default. This influences Perl's idea of what a "line" is. Works like awk's RS variable, including treating empty lines as a terminator if set to the null string.
也就是一种输入记录的分隔符,举个例子,你原来读取文件的时候,默认的换行符是'\n',那么你知道每次读到'\n',就是一行结束。现在你可以把这个预定义变量换成“:”,那么现在的你读取文件的规则变了,就是每次遇到“:”符号的时候表示一行读完了。
如果文件data.txt的内容是:
C:C++:Java:Perl:Python:Ruby
那么如下的代码
#!perl
use strict;
use warnings;
my $file = "data.txt";
local $/ = ":";
open FILE, "<", $file or die "Can't open the file:", $!;
while (<FILE>)
{
chomp;
print $_, "\n";
}
close FILE;
执行后的结果就是:
C
C++
Java
Perl
Python
Ruby
明白啦?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询