What tobyink++ said. You are filling your @S array starting at index 1 ($v=1;). But arrays are (by default) zero indexed, so $S[0] has nothing in it. Sort then tries to auto-vivify values for $S[0] and gives you an error. Minimal "fix" is to index $v from 0.
You have many, many other sub-optimal things in there too though.
In reply to Re: Sorting array, getting modification of read-only value error
by thundergnat
in thread Sorting array, getting modification of read-only value error
by myelinviolin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |