#!/usr/bin/perl use strict; use warnings; use Inline C => <<'END_C'; void POKe() { SV *good_sv, *bad_sv; char *good_ptr, *bad_ptr; good_sv = newSV(83); bad_sv = newSV(83); SvPOK_on(good_sv); /* !!!! */ good_ptr = SvPV_nolen(good_sv); Copy("Joy!", good_ptr, 4, char); SvCUR_set(good_sv, 4); fprintf(stderr, "%s\n", SvPVX(good_sv)); bad_ptr = SvPV_nolen(bad_sv); fprintf(stderr, "wait for it...\n"); Copy("DEATH!", bad_ptr, 6, char); fprintf(stderr, "in heaven, everything is fine..."); } END_C POKe();