- 1
- 2
- 3
- 4
sub append {
my $appendstring = @_[0];
$returnstring = "$returnstring$appendstring";
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−113.6
sub append {
my $appendstring = @_[0];
$returnstring = "$returnstring$appendstring";
}
Из плагина к nagios'у, который проверяет состояние интерфейсов на cisco-девайсах. http://svn.opsview.org/opsview/trunk/opsview-core/nagios-plugins/check_snmp_cisco_ifstatus .
VanSanblch 20.01.2010 14:44 # 0
klem4 20.01.2010 19:25 # 0
guest 20.01.2010 21:37 # 0
Хотя может тут какая-то особенная запутанная логика. Без примера вызова функции append и использования результата этого вызова сказать трудно.
guest 20.01.2010 21:50 # +1
klem4 20.01.2010 23:34 # +2
sub append
{
$returnstring . shift;
}
В общем а). не гк b). как уже сказано TIMTOWTDI
Pencioner 21.01.2010 13:26 # 0
Desktop 05.08.2020 20:57 # 0
guest 21.01.2010 00:23 # +2
$returnstring = "";
[skipped]
$temp = sprintf "$ifdescr ($iftype_string) - Current: $ifoutbitssec, Limit: $ifspeed, MTU: $ifmtu и т.д.";
append($temp);
[skipped]
sub append {
my $appendstring = @_[0];
$returnstring = "$returnstring$appendstring";
}
непонятно зачем было делать специальную функцию, которая добавляет к заведомо известной глобальной переменной строку из параметра этой функции, когда всё вышеописанное можно сделать одной строчкой в месте где вызывается эта функция
$returnstring = "";
[skipped]
$returnstring .= "$ifdescr ($iftype_string) - Current: и т.д.";
а так в принципе про любой гк на перле можно сказать - это тоже TIMTOWTDI
bildja 22.01.2010 01:24 # 0
guest 22.01.2010 18:21 # 0
@_ это список параметров, переданных подпрограмме
guest 22.01.2010 18:25 # 0
Если есть любой массив @a, то обращение к его элементу по индексу происходит: $a[0]
Так и здесь будет $_[0] - потому что это скаляр в итоге.
guest 22.01.2010 18:38 # 0
klem4 23.01.2010 00:22 # 0
bildja 23.01.2010 00:59 # 0
guest 22.02.2010 22:44 # +1
$_[0] - это скаляр, 0-й элемент массива @_
@_[0] - это список, срез массива @_
MAKAKA 06.08.2020 18:05 # 0