Ooops! The behavior appears to vary depending on how lines are executed, leading me to believe almut may be correct and that codeacrobat's observation may apply to 5.8.8 (and probably others). A caveat (or "confusion") follows. Compare using r instead of stepping:
>perl -d \pl_test\test{{.pl
Loading DB routines from perl5db.pl version 1.28
Editor support available.
Enter h or `h h' for help, or `perldoc perldebug' for more help.
main::(\pl_test\test{{.pl:5):
5: my @i = (2..5);
DB<1> {{ #
DB<2> r
foo 3
foo 4
foo 5
foo 6
Debugged program terminated. Use q to quit or R to restart,
use o inhibit_exit to avoid stopping after program termination,
h q, h R or h o to get additional info.
auto(-1) DB<2> #
DB<2>
...
BUT, stepping (entirely) through the script:
BUT:
>perl -d pl_test\test{{.pl
Loading DB routines from perl5db.pl version 1.28
Editor support available.
Enter h or `h h' for help, or `perldoc perldebug' for more help.
main::(pl_test\test{{.pl:5):
5: my @i = (2..5);
DB<1> {{ #
DB<2> s
main::(pl_test\test{{.pl:7):
7: for my $i (@i) {
auto(-1) DB<2> #
DB<2>
main::(pl_test\test{{.pl:8):
8: $i ++;
auto(-1) DB<2> #
DB<2>
main::(pl_test\test{{.pl:9):
9: print "foo";
auto(-1) DB<2> #
DB<2>
foomain::(pl_test\test{{.pl:10):
10: print " $i\n";
auto(-1) DB<2> #
DB<2>
3
main::(pl_test\test{{.pl:8):
8: $i ++;
auto(-1) DB<2> #
DB<2>
main::(pl_test\test{{.pl:9):
9: print "foo";
auto(-1) DB<2> #
DB<2>
foomain::(pl_test\test{{.pl:10):
10: print " $i\n";
auto(-1) DB<2> #
DB<2>
4
main::(pl_test\test{{.pl:8):
8: $i ++;
auto(-1) DB<2> #
DB<2>
main::(pl_test\test{{.pl:9):
9: print "foo";
auto(-1) DB<2> #
DB<2>
foomain::(pl_test\test{{.pl:10):
10: print " $i\n";
auto(-1) DB<2> #
DB<2>
5
main::(pl_test\test{{.pl:8):
8: $i ++;
auto(-1) DB<2> #
DB<2>
main::(pl_test\test{{.pl:9):
9: print "foo";
auto(-1) DB<2> #
DB<2>
foomain::(pl_test\test{{.pl:10):
10: print " $i\n";
auto(-1) DB<2> #
DB<2>
6
Debugged program terminated. Use q to quit or R to restart,
use o inhibit_exit to avoid stopping after program termination,
h q, h R or h o to get additional info.
auto(-1) DB<2> #
DB<2>
Use `q' to quit or `R' to restart. `h q' for details.
DB<2> s
Use `q' to quit or `R' to restart. `h q' for details.
...
WTF? |