История изменений
Исправление DRVTiny, (текущая версия) :
Эмм... А в чём ошибка, собственно? Ну возвращает test без аргументов в контексте списка один элемент со значением «0» - может, так программистом и было задумано, просто ему было лень обособлять нолик скобками явным образом.
Вообще по-хорошему нужно проверять, в каком контексте находишься и возвращать значения соответственно:
sub test {
return wantarray?
@_ ? (1,2,3) : ()
:
@_ ? shift : 0
}
Исходная версия DRVTiny, :
Эмм... А в чём ошибка, собственно? Ну возвращает test без аргументов в контексте списка один элемент со значением «0» - может, так программистом и было задумано, просто ему было лень обособлять нолик скобками явным образом.
Вообще по-хорошему нужно проверять, в каком контексте находишься и возвращать значения соответственно:
sub test {
return wantarray?
@_ ? (1,2,3) : ()
:
@_ ? shift : 0
}