sub AUTOLOAD : lvalue { (!ref ${$AUTOLOAD}) ? ${$AUTOLOAD} : (!wantarray) ? ${$AUTOLOAD} : (ref ${$AUTOLOAD} eq 'ARRAY') ? @{${$AUTOLOAD}} : %{${$AUTOLOAD}}; } #### #include AUTOLOAD from above . . . &foo = ['a', 'b', 'c']; print &foo->[0];