Be advised that we do not support piracy, and torrents tend to be synonymous with piracy these days:
From forum rules:
No requesting help on anything involving "piracy" (of software, movies, or otherwise), because it's illegal in most places.
With that said, for those stumbling into this thread in search for information regarding list errors...
First of all, $args is actually a list. The reason is that having the last parameter in a proc declaration being named "args" makes it behave like varargs in other languages; that is, accept multiple number of arguments. Each argument will be added as a list item to $args.
Splitting $args makes absolutely no sense here.
In virtually all cases I've seen, the first fault is that people use the name "args" without knowing it's special properties.
The second fault is that they "solve" it by using lindex to extract the first item, without actually knowing why they are doing it in the first place...