in reply to Array element deletion

Are you sure you need an array? If you just need a structure where you can refer to elements by their value, you'll be much better off with a hash:<code? %a=(a=>2,b=>1,c=>1,d=>1); # a hash can't have two elements which are the same </code>

To see if an element exists in a hash, you check $a{'b'} for instance. To delete an element, you simply say delete($a{'b'});

For an array which might have more than one element the same ( but where order of elements isn't important) you could keep a count of elements in each hash value, and decrement it when you delete the element - then use delete only if the value reaches zero.

If you must use an array (due to other things you didn't talk about needing an array), then splice is your best bet, as was mentioned above: but you'll have to write a routine that scans through the elements and returns the index of the desired element.