2016-08-16 30 views
0

我現在的問題是基於我遇到的有關CSV文件的問題,但它也更一般。查找Perl值是否已初始化的命令

我正在尋找使用類似於Java/Groovy/Gosu中的null問號來確定數組索引是否已被初始化。

我有類似:

for (my i = 0; i < @engVals or i < @frenchVals; i++) { 

    $csv->print($file, [ $engVals[i] ?: "", , $frenchVals[i] ?: "" ]); 

    # Where Elvis ops ensure that the array element at i is initialized, and if not stores blank in the CSV 
} 
+1

你想知道是否有[[定義]](http://perldoc.perl.org/functions/defined.html)? –

回答

3

您甲腎上腺素ED的定義操作//如果它被定義返回其左操作數,否則其右操作數

$csv->print($file, [ $engVals[i] // "", $frenchVals[i] // "" ]); 

我不確定爲什麼你有兩個數組元素之間的兩個逗號。如果這是一個錯字,那麼上面的陳述就是你想要的,但是如果你打算在結果CSV數據中應該有一箇中間空白字段,那麼你應該寫, "",

+0

謝謝,對不起中間的昏迷是給了一個額外的空白區域來分隔csv中的兩列。 –