-
POPMUISE
$|就是一个变量啦,是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数组中的每个元素都打印出来
-
人到中年有点甜
补充说明:$_ 是内置变量,给你一个最容易理解的例子:while(<STDIN>) //从屏幕输入,将输入结果放到默认变量$_ 里面{print "$_"; // 打印变量里面的内容}如果写成这样while($local=<STDIN>){print "$local";}perl就会将从屏幕输入的值给变量$local 而不是放到默认变量$_里面去还有一点 $locip =~ s/\./,/gi; 这里面的 =~ 意思是与变量$locip里面的值匹配, 而不是与$_ 里面的值匹配比如 while(/s\./,/gi) 这样就是与$_ 里面的值匹配了。"\"是 escape character 让它后面的符号按照字面意义解释,而不是特殊的含义,因为"."在表达式里面代表任意一个单个字符,但如果前面加上"\"则表示一个"点号"而不再代表单一一个字符了。
-
慕莱坞森
$|=1;表示清除缓存s/\./,/gi 意思是把所有的.替换成,$_是内置变量。你可以看看perldoc