От Perl help:
-n assume "while (<>) { ... }" loop around program
Это чисто операция текстуальное, поэтому он дает эту программу:
while (<>) { $_{$F[0]}+=$F[1]}print"$_ $_{$_}"for keys%_;{ }
Это злоупотребление переключателя -n
, поскольку цикл в то время как закрывается рано из-за непревзойденного }
в оригинальной программе. Но закрытие }
, добавленное переключателем -n
, все равно должно соответствовать чему-то, и поэтому в конце программы должен быть добавлен дополнительный {
, хотя он ничего не делает.
Другими словами, единственная причина, по которой последний {
заключается в отсутствии синтаксической ошибки.
Перл заставляет мои глаза болеть. – JasCav
Просто выглядит как кодовое гольф-решение. – kennytm