我看到很多「相關」的問題,但我沒有看到回答這個特定場景的問題。避免在循環中實時輸出Perl中重複項的最佳方法
在while/for循環解析從SQL select語句生成的結果集的過程中,如果它之前的行包含相同的字段數據(不管它是第一場或第x場)?
例如,如果兩行分別爲:
('EML-E','[email protected]','John','Smith')
('EML-E','[email protected]','John','Smith')
什麼是隻有「EML-E」是兩行相同的打印基於這樣的事實,第一行的最佳方式是什麼?
現在,我這樣做:
- 存儲第一字段(特定於我的方案)轉換成2個元素的數組(dupecatch [1])
- 察看dupecatch [0] = dupcatch [1](式兩份 - 逃逸循環中使用的')
行處理完畢後,設置dupecatch [0] = dupecatch [1]
while ($DBS->SQLFetch() == *PLibdata::RET_OK) { $s=0; #s = 1 to escape out of inside loop while ($i != $array_len and $s==0) { $rowfetch = $DBS->{Row}->GetCharValue($array_col[$i]); if($i==0){$dupecatch[1] = $rowfetch;} #dupecatch prevents duplicate primary key field entries if($dupecatch[0] ne $dupecatch[1]) { dosomething($rowfetch); } else{$s++;} $i++; } $i=0; $dupecatch[0]=$dupecatch[1]; }
你爲什麼在while循環中使用typeglob? – 2009-05-04 14:55:25
多數民衆贊成在模塊的工作方式...我不太瞭解Plibdata,我只是使用它,因爲它的工作原理 – CheeseConQueso 2009-05-04 15:10:07