2

パラメータリストとして使用されるデータファイルからキャッシュされたSQLステートメントへの配列を構築しています。これは、Oracleデータベースに対して実行されているperlDBI用です。

例えば:

@params = ("This", "that", "NULL", "finish");

これを次のように変更する必要があります。

@params = ("This", "that", undef, "finish");

私はこれをグーグルで検索しましたが、文字列の置換にはs///を使用したマップをお勧めします。特定の条件で配列内の要素の定義を解除する方法がわかりません。

4

3 に答える 3

6
for (@params) { $_ = undef if $_ eq 'NULL'; }
于 2013-02-06T15:01:53.000 に答える
5

@params = map { $_ eq 'NULL' ? undef : $_ } ("This", "that", "NULL", "finish");するべきです。

于 2013-02-06T15:02:29.213 に答える
1

forこれは、 によって提供されるリストのループを使用して、非常に簡単に実行できますgrep

undef $_ for grep $_ eq 'NULL', @params;
于 2013-02-06T15:13:54.410 に答える