in reply to why doesn't this sort work?

What happens if you put a print statement into the sort? Use a small @vfs dataset and look what happens.
my @sorted_vfs = sort {print "a: ",$a->start(), " b: ",$b->start(),"\n"; $a->start() <=> $b->start() } @vfs;