Здравствуйте.
Речь об этом отладчике:
$ perl -d Employee
Loading DB routines from perl5db.pl version 1.33
Editor support available.
В удалении точки останова ошибка:
DB<29> L
Employee:
36: print_emp($_);
break if (1)
DB<29> d 36
Number found where operator expected at (eval 6)[/usr/share/perl/5.14/perl5db.pl:640] line 2, near "d 36"
at (eval 6)[/usr/share/perl/5.14/perl5db.pl:640] line 2
eval '($@, $!, $^E, $,, $/, $\\, $^W) = @saved;package main; $^D = $^D | $DB::db_stop;
d 36;
;' called at /usr/share/perl/5.14/perl5db.pl line 640
DB::eval called at /usr/share/perl/5.14/perl5db.pl line 3436
DB::DB called at Employee line 36
(Do you need to predeclare d?)
at (eval 6)[/usr/share/perl/5.14/perl5db.pl:640] line 2
eval '($@, $!, $^E, $,, $/, $\\, $^W) = @saved;package main; $^D = $^D | $DB::db_stop;
d 36;
;' called at /usr/share/perl/5.14/perl5db.pl line 640
DB::eval called at /usr/share/perl/5.14/perl5db.pl line 3436
DB::DB called at Employee line 36
syntax error at (eval 6)[/usr/share/perl/5.14/perl5db.pl:640] line 2, near "d 36"
Прагма strict включена, и ни одного ворнинга.
Один из "Законов Мерфи" гласит:
Если компилятор не обнаружил ошибку, то ошибка в компиляторе. Факт на лицо.