Итак, я натолкнулся на код, который выглядит как
@documents_names = sort {
!!$deleted_documents_names{$a} == !!$deleted_documents_names{$b}
? uc($a) cmp uc($b)
: !!$deleted_documents_names{$a}
cmp !!$deleted_documents_names{$b}
} @documents_names;
Это первый раз, когда я вижу использование двойного отрицания. Какая польза от этого? Когда человек будет использовать его?