use strict; use warnings; use Devel::Peek qw( Dump ); use Inline C => <<'__EOI__'; void call_AvMAX(AV* av) { AvMAX(av); } void call_AvARRAY(AV* av) { AvARRAY(av); } void call_AvALLOC(AV* av) { AvALLOC(av); } void call_AvARYLEN(AV* av) { AvARYLEN(av); } __EOI__ my @a = qw( a b c ); print("After init:\n"); Dump(\@a, 1); call_AvMAX(\@a); print("\nAfter AvMAX:\n"); Dump(\@a, 1); call_AvARRAY(\@a); print("\nAfter AvARRAY:\n"); Dump(\@a, 1); call_AvALLOC(\@a); print("\nAfter AvALLOC:\n"); Dump(\@a, 1); call_AvARYLEN(\@a); print("\nAfter AvARYLEN:\n"); Dump(\@a, 1);