由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - perl script 请教
进入Programming版参与讨论
1 (共1页)
c***y
发帖数: 615
1
最近看到下面几行script
#!/usr/bin/perl
use warnings;
use strict;
my $x = "cat dog house
apple orange
";
open my $IN, '<',$x;
while(<$IN>){
if(/(w+)/g){
print pos,"n";
}
}
运行结果是:
3
5
查了下pos一般都是用 pos()
请教这里为什么略去()?问什么只有3,5输出?
多谢了!!!
y****w
发帖数: 3747
2
很多年不用perl了 但你这个看着就别扭,直接跑没错误?
n******t
发帖数: 4406
3
perl函數括號在沒歧義的時候可以不寫。
你每次match了一次之後,就進入下一個循環,當然只打印了三行,有什麼問題麼?

~~~~~~~~~~~~~~~~~~
你這裏是想\w+吧。

【在 c***y 的大作中提到】
: 最近看到下面几行script
: #!/usr/bin/perl
: use warnings;
: use strict;
: my $x = "cat dog house
: apple orange
: ";
: open my $IN, '<',$x;
: while(<$IN>){
: if(/(w+)/g){

y****w
发帖数: 3747
4
他贴的code有错 本来我还想反斜杠被老邱黑了 但这不你能贴出来嘛。这带猜谜的问题
不咋好。
他的re应该不止\w 还有丢的东西。 有了\w ,空行被跳过了。


: perl函數括號在沒歧義的時候可以不寫。

: 你每次match了一次之後,就進入下一個循環,當然只打印了三行,有什麼問題
麼?

: ~~~~~~~~~~~~~~~~~~

: 你這裏是想\w 吧。



【在 n******t 的大作中提到】
: perl函數括號在沒歧義的時候可以不寫。
: 你每次match了一次之後,就進入下一個循環,當然只打印了三行,有什麼問題麼?
:
: ~~~~~~~~~~~~~~~~~~
: 你這裏是想\w+吧。

c***y
发帖数: 615
5
是的是的。好奇怪啊, 我是paste 的
if(/(\w+)/g)
看我回复的时候,你的那个 w+之前的 \ 也没有啦啊
多谢你的的解答!

【在 n******t 的大作中提到】
: perl函數括號在沒歧義的時候可以不寫。
: 你每次match了一次之後,就進入下一個循環,當然只打印了三行,有什麼問題麼?
:
: ~~~~~~~~~~~~~~~~~~
: 你這裏是想\w+吧。

1 (共1页)
进入Programming版参与讨论