■ delete

連想配列の要素、配列の要素、連想配列のスライス、配列のスライスを与えると、指定し た要素を連想配列や配列から削除します。配列の場合においては、配列要素が最後に達す ると、配列のサイズは、exists()関数でtrueとなる最も高い要素数に縮みます(要素が無 くなった場合には、配列の要素数は0になります。)。 また、削除された要素が返ります。要素が無くなった場合には未定義値が返ります。 $ENV{}から要素を削除すると、環境が変わります。DBMファイルに結び付けられた連想配 列から削除すると、DBMファイルからエントリーが削除されます。tie関数で結び付けられ た連想配列や配列から削除した場合、必ずしも何かが返ってくるわけではありません。 配列要素を削除すると、実際には、削除された要素の配列位置を返します。その後、同じ 要素をexists()関数を使ってテストすると、偽が返ります。配列内で中間に位置する要素 を削除すると、それ以降の要素のインデックス番号がずれることに注意してください。こ の場合には、splice()関数を使ってください。

文法

delete EXPR