C:\Documents and Settings\Owner\Desktop\calltest>perl t.pl attempting to go inside obj $VAR1 = [ [ "main", "t.pl", 9 ], [ "main", "t.pl", 9, "calltest::tied::FETCH", 1, "", undef, undef, 1794, "UUUUUUUUUUUU\5", undef ], [] ]; FETCH: bad caller "main" returning undef on going inside obj $res is not defined attempting to XS getValue $VAR1 = [ [ "main", "t.pl", 12 ], [ "main", "t.pl", 12, "calltest::tied::FETCH", 1, "", undef, undef, 1794, "UUUUUUUUUUUU\5", undef ], [] ]; FETCH: bad caller "main" returning undef Use of uninitialized value in subroutine entry at t.pl line 12. from getValue value is 0, package is main on XS getValue $res is not defined attempting to getValueWrap $VAR1 = [ [ "calltest", "calltest.pm", 36 ], [ "calltest", "calltest.pm", 36, "calltest::tied::FETCH", 1, "", undef, undef, 132610, "UUUUUUUUUUUU\5", { "feature_say" => 1, "feature_state" => 1, "feature_switch" => 1 } ], [ "main", "t.pl", 15, "calltest::getValueWrap", 1, "", undef, undef, 1794, "UUUUUUUUUUUU\5", undef ] ]; FETCH: good caller "calltest" returning 5 from getValue value is 5, package is calltest on getValueWrap $res is defined and is 5 using getValuePurePerl attempting to getValuePurePerl $VAR1 = [ [ "calltest", "calltest.pm", 39 ], [ "calltest", "calltest.pm", 39, "calltest::tied::FETCH", 1, "", undef, undef, 132610, "UUUUUUUUUUUU\5", { "feature_say" => 1, "feature_state" => 1, "feature_switch" => 1 } ], [ "main", "t.pl", 23, "calltest::getValuePurePerl", 1, "", undef, undef, 1794, "UUUUUUUUUUUU\5", undef ] ]; FETCH: good caller "calltest" returning 5 from getValuePurePerl value is 5 on getValuePurePerl $res is defined and is 5 C:\Documents and Settings\Owner\Desktop\calltest>