爲不Perl程序員,我想,以確保我已經很好地理解一個結構,我要移植到Python,理解一個簡單的Perl構建
時使用:
if (s/^([$PChar])(.)/$2/) {
print $1,"\n";
$finished = 0;
}
- $ 1,$ 2等的匹配正則表達式
- S /搜索/與/
取代什麼,我真我不確定匹配/替換是在打印$ 1之前完成的嗎?並且它是在當前緩衝區(它是$ F,即$ _逐行逐行,在它的空格字符上分割)內「inplace」完成的,也就是改變它(所以如果我理解的很好,([$ PChar])當一個字符串的@開頭在上面的表述中被完全刪除/丟失時)?
編輯:不,也許它不會丟失,第一個括號部分被捕獲,然後打印爲$ 1 +新行字符,然後...不,不知道什麼變成了$ 2 ...可能是緩衝區更改爲秒括號部分? /編輯結束。
還有什麼環境或什麼是允許在Win平臺上進行一些逐步調試的最佳環境?我知道有這個,我不會問這個問題。我不需要學習Perl,只是爲了能夠閱讀和修改這個腳本。
這裏是englobing部分:
@F = split;
for($j=0; $j<=$#F; $j++) {
my $suffix="";
$_ = $F[$j];
# separate punctuation and parentheses from words
do {
$finished = 1;
# cut off preceding punctuation
if (s/^([$PChar])(.)/$2/) {
print $1,"\n";
$finished = 0;
}
# cut off trailing punctuation
if (s/(.)([$FChar])$/$1/) {
$suffix = "$2\n$suffix";
$finished = 0;
}
整個腳本tokenize.pl可以看出here而原來tar.bz如果從here
問候
如果你要發佈示例代碼,不要發佈tar.gz文件,將純文本複製並粘貼到一些在線鍵盤上,如codepad.org。 – TLP
@TLP,好的謝謝!直到現在我還不知道codepart.org :) – user1340802