Meaning of "Use of uninitialized value in subroutine entry"

In an XS routine, if a line such as

plain = newSV (0);

is followed by

sv_catpvn (plain, (const char *) out_buffer, have);

it causes this error.

The "in subroutine entry" simply means that the last op was the subroutine entry one. The "use of uninitialized value" means that it attempted to add on to a scalar.

Web links

Copyright © Ben Bullock 2009-2023. All rights reserved. For comments, questions, and corrections, please email Ben Bullock ( or use the discussion group at Google Groups. / Privacy / Disclaimer