2010-04-08 40 views
7

我曾在某處讀過awk中存在的一個特定功能,但不是在Perl中。我再次找不到它。我能用awk做些什麼,我無法在Perl中完成?

我將不勝感激,如果有人在這裏可以指出。

這可能是一個無用的瑣事,但我仍然很想知道。

+1

這個問題在形式上會更有趣:在awk中有什麼可能更容易。 ;) – jm666 2011-06-05 12:45:34

+0

@ jm666隨時編輯 – alvin 2011-06-16 09:17:55

回答

18

perldoc perlvar

記住:中$/的值是一個字符串,而不是一個正則表達式。 awk必須是更好的東西。 :-)

+1

你可以隨時做'split/regex/=> do {local $ /只要你的文件可以放進內存中 – 2010-04-08 20:25:55

+0

早在我寫了File :: Stream(在CPAN上)來解決這個「問題」的時候。 :) – tsee 2010-04-09 09:52:05

+2

正是我一直在尋找的東西。 從現在開始,我將可以安然入睡。 :) – alvin 2010-04-09 10:32:56

8

的awk來perl翻譯man page扒一件事的Perl不能做:

  • Perl並不試圖仿效AWK的行爲中不存在的數組元素簡單地通過被引用而成爲存在。 (左值autovivification)

但總的來說,Perl是完整的,它可以做awk可以做的所有事情。是一個awk到perl翻譯的事實存在,應該足以證明:)

+0

嗯,這很有趣。 – alvin 2010-04-09 10:29:16

-2

正則表達式的子程序一樣

/regex/ { 
     awk code here 
} 

模式匹配的是一個功能,我從AWK錯過。

+0

你不認真吧? if(/ regex /){perl code here} – Sean 2010-04-09 05:37:55

+0

/$ regexp/and do {...}; – dsm 2010-04-09 09:35:09

+0

'{perl code here} if/regex /' – 2010-04-09 11:04:17

相關問題