Use the splice function. From perlfunc:
splice ARRAY,OFFSET,LENGTH,LIST
Removes the elements designated by OFFSET and LENGTH from
an array, and replaces them with the elements of LIST, if
any.
If you don't specify LIST, it just removes the specified elements from the array and "scrunches" the rest of the array together.
Update:
Oh and if you want have a list of them you wanted to remove,
you would probably want to do something like
splice( @array, $_, 1 ) foreach ( @elementsToDelete );
And @elementsToDelete would have to be sorted in descending order as
btrott mentions.