perl里面的$|=1是什么意思?

$|=1;是什么意思?怎么没有变量名的?$locip=~s/\./,/gi;是什么意思?print$_;这是什么意思?... $|=1; 是什么意思?怎么没有变量名的?
$locip =~ s/\./,/gi; 是什么意思?
print $_; 这是什么意思?
展开
 我来答
PyQt
推荐于2018-05-09 · TA获得超过352个赞
知道小有建树答主
回答量:83
采纳率:100%
帮助的人:95.4万
展开全部
$|就是一个变量啦,是perl的内置变量,默认情况下是0,如果设置为非0的话,表示当前的输出不经过缓存立刻输出,比如你print或者write一个文件,实际是需要经过缓存的,但是设置该变量非0后就不经过缓冲立刻输出了

$locip =~ s/\./,/gi;是一个正则表达式匹配,对变量$locip进行替换,将$locip中的点(.)替换成逗号(,),g和i都是附加选项,g表示全局替换,就是所有的点(.)都替换成逗号(,),i是忽略大写,这里没有什么用

$_也是perl的内置变量,是perl中用的最多的默认变量,一般比如你写一个循环:foreach (@my_array) { print $_; }
这个循环没有指定变量,每次遍历数组my_array的时候就把值赋给了$_,所以你这样就可以把my_array数组中的每个元素都打印出来
小猴子1127
2009-09-30
知道答主
回答量:27
采纳率:0%
帮助的人:0
展开全部
楼上正解,补充说明:$_ 是内置变量,给你一个最容易理解的例子:

while(<STDIN>) //从屏幕输入,将输入结果放到默认变量$_ 里面
{
print "$_"; // 打印变量里面的内容
}
如果写成这样
while($local=<STDIN>)
{
print "$local";
}
perl就会将从屏幕输入的值给变量$local 而不是放到默认变量$_里面去

还有一点 $locip =~ s/\./,/gi; 这里面的 =~ 意思是与变量$locip里面的值匹配, 而不是与$_ 里面的值匹配
比如 while(/s\./,/gi) 这样就是与$_ 里面的值匹配了。
"\"是 escape character 让它后面的符号按照字面意义解释,而不是特殊的含义,因为"."在表达式里面代表任意一个单个字符,但如果前面加上"\"则表示一个"点号"而不再代表单一一个字符了。

我也是新手,大家可以多交流 我的Q是316629457
多谢加我 注明 perl 编程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b64d198
2009-09-30
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
$|=1;表示清除缓存

s/\./,/gi 意思是把所有的.替换成,

$_是内置变量。你可以看看perldoc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
颜开飞
2009-10-02
知道答主
回答量:13
采纳率:0%
帮助的人:16.5万
展开全部
perl是一种unix下面的脚本语言集大成者,当然可以在windows平台下使用,有很多软件完成这一任务如activeperl。
perl内部使用了很多内置变量,这是描述性语言为了简洁易写性而搞的一种“把戏”,但是其易读性让初学者很不爽,可以把它们看作是编程语言里面的宏。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式