Further examination reveals that the example program originally submitted is far more cluttered than is necessary: #!/usr/bin/perl use strict; use warnings; my $i; my @a = (1..10); my $last = $#{@a}; print "Last index: $last\n"; __END__ Running this program through the debugger produces the "Bizarre copy of ARRAY in leave" error. Running the program normally (outside the debugger) produces output as though $last had been assigned to $#a. Please note that removing the { } from @a causes normal execution of the script to produce much more expected results: Use of $# is deprecated at <file> line 8. Array found where operator expected at <file> line 8, at end of line (Missing operator before ?) syntax error at <file> line 8, near "$#@a" Execution of <file> aborted due to compilation errors. Paul LalliThread Next