这条perl命令行什么意思

这条perl命令行什么意思

perl -pe ‘s/^\s+//’
以前都是用awk,grep进行字符串处理,perl很少用到过。一直以为perl都是以脚本程序的形式用呢,没想到也可以又做命令行。哪位高手能详细解释这句perl的作用啊,我对这句完全不了解,但是现在又要急切需要用这句话,谢谢

sed 's/^[[:blank:]]\+//'
一个意思。
去掉行首的空格
-pe表示什么,好像e是使perl以命令行形式执行吧,p是循环执行文件中所有行吗?
perl -help
-p              assume loop like -n but print line also, like sed

关键是我对sed也从来没有接触过


QUOTE:
原帖由 turkeyNUPT 于 2008-12-1 15:29 发表
-p              assume loop like -n but print line also, like sed

关键是我对sed也从来没有接触过

从文件中读取每一行,并输出。
perl -pe '你的代码'
类似这样的代码:

[Copy to clipboard] [ - ]
CODE:
while (<>) {
    #[color=RoyalBlue]你的代码[/color]
    print;
}

不过如果写成: perl -pe 'print "----\n";}{print "====\n";' urfile 就不会打印每一行了。
相当于

[Copy to clipboard] [ - ]
CODE:
while (<>) {
print "----\n";}{print "====\n"; #你的代码

print;
}



QUOTE:
原帖由 turkeyNUPT 于 2008-12-1 14:45 发表
perl -pe ‘s/^\s+//’

perldoc perlrun
感谢你的解释,-pe我懂了。可是你举得第二个例子,为什么不会打印所有行啊?不也有-
pe吗?


QUOTE:
原帖由 ynchnluiti 于 2008-12-1 15:46 发表

从文件中读取每一行,并输出。
perl -pe '你的代码'
类似这样的代码:
while () {
    #你的代码
    print;
}

实际上,那个 print 被放在了 while BLOCK 后的一个 continue BLOCK 里面