$ perl -le"die prototype('CORE::splice')" \@;$$@ at -e line 1. $ perl -le" sub mysplice (\@$$@){ warn@_} mysplice @a, 1,1,3,4" ARRAY(0x3d8bdc)1134 at -e line 1. $ perl -le" sub mysplice (\@$$@){ warn@_} mysplice 1" Type of arg 1 to main::mysplice must be array (not constant item) at -e line 1, at EOF Not enough arguments for main::mysplice at -e line 1, at EOF Execution of -e aborted due to compilation errors. $ perl -le" sub mysplice (\@$$@){ warn@_} mysplice 1, @a, " Type of arg 1 to main::mysplice must be array (not constant item) at -e line 1, at EOF Not enough arguments for main::mysplice at -e line 1, at EOF Execution of -e aborted due to compilation errors. $ perl -le" sub mysplice { warn@_} mysplice \@a, 1, 1" ARRAY(0x97a0ac)11 at -e line 1. #### $ perl -le" sub mysplice (\@$$@){ warn@_} sub QQQ { mysplice(@_) } QQQ 1, @a, " Not enough arguments for main::mysplice at -e line 1, near "@_) " Execution of -e aborted due to compilation errors. $ perl -le" sub mysplice (\@$$@){ warn@_} sub QQQ(\@$$@) { mysplice(@_) } QQQ 1, @a, " Not enough arguments for main::mysplice at -e line 1, near "@_) " Type of arg 1 to main::QQQ must be array (not constant item) at -e line 1, at EOF Not enough arguments for main::QQQ at -e line 1, at EOF Execution of -e aborted due to compilation errors. $ perl -le" sub mysplice (\@$$@){ warn@_} sub QQQ(\@$$@) { mysplice(@_) } QQQ @a, 1" Not enough arguments for main::mysplice at -e line 1, near "@_) " Not enough arguments for main::QQQ at -e line 1, at EOF Execution of -e aborted due to compilation errors. $ perl -le" sub mysplice (\@$$@){ warn@_} sub QQQ(\@$$@) { mysplice(@_) } QQQ @a, 1,1" Not enough arguments for main::mysplice at -e line 1, near "@_) " Execution of -e aborted due to compilation errors. #### $ perl -le" sub mysplice (\@$$@){ warn@_} sub QQQ(\@$$@) { goto &mysplice } QQQ @a, 1,1" ARRAY(0x97a064)11 at -e line 1.