. "\n";
"$1";
print "Result: " . Dummy::test($1) . "\n";
$ perl test-xs.plx
Useless use of string in void context at test-xs.plx line 11.
Result:
Result: 127.0.0.1
string test (SV* newval) {
panda::string value;
if (SvOK(newval)) {
STRLEN len;
const char* data = SvPV_const(newval, len);
value = panda::string(data, len);
} else {
value = "";
}
RETVAL = value;
}
Волшебное. Бага Перла.
Я тут говорил когда-то, что передавать $1 в функцию — плохая практика и стоит передавать "$1"
Это не плохая идея. Это должно работать.
Это плохая идея, т.к. в части случаев вызывает баги
Которые надо ловить и править, вместо того чтобы закрывать на них глаза.
Освежи пример в памяти и скажи, как правильно исправить.
Обсуждают сегодня