in reply to @ARGV being corrupted
In place of your current argument grokking code, try:
use Getopt::Std; my %args; getopts ('V:', \%args); print $args{'V'}; [download]