Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^2: perl -d: puzzling behavior when run in program in current directory

by jkeenan1 (Deacon)
on Jan 01, 2017 at 16:20 UTC ( [id://1178771]=note: print w/replies, xml ) Need Help??


in reply to Re: perl -d: puzzling behavior when run in program in current directory
in thread perl -d: puzzling behavior when run in program in current directory

When I create a new directory at the same level (~/learn/perl/oldp5p), then copy over all the contents from the original directory to the new one, then run the program from the new directory, the problem appears:

$ cd ../oldp5p $ cat abc.pl print "hello world\n"; print "goodbye world\n"; $ perl abc.pl hello world goodbye world $ perl -d abc.pl hello world goodbye world Var=
But when I wipeout the original directory, create a new directory with the same name, then copy over the test program to the new directory and run the debugger, the problem goes away.
$ cd .. $ rmtree1.pl p5p $ mkdir p5p $ cp -v oldp5p/abc.pl p5p 'oldp5p/abc.pl' -> 'p5p/abc.pl' $ cd p5p $ perl abc.pl hello world goodbye world $ perl -d abc.pl Loading DB routines from perl5db.pl version 1.49_04 Editor support available. Enter h or 'h h' for help, or 'man perldebug' for more help. main::(abc.pl:1): print "hello world\n"; DB<1> q
So if seems as if something in the original directory is "polluting" the operation of the debugger.

Jim Keenan

Replies are listed 'Best First'.
Re^3: perl -d: puzzling behavior when run in program in current directory
by jkeenan1 (Deacon) on Jan 01, 2017 at 16:49 UTC
    Aha! Here is the explanation.

    Two days ago I was working on this bug report: RT 130445. In the course of that work, I created this hidden file in the original directory:

    $ ack 'db\.out' . .perldb 1:&parse_options("NonStop=0 TTY=db.out");
    So when I ran the perl debugger over any program from that directory, it was silently processing '.perldb' and setting the 'NonStop' option and redirecting legitimate output to a file in that directory called 'db.out'.

    Once I deleted '.perldb', the output of perl -d abc.pl returned to normal.

    Thank you very much.

    Jim Keenan
Re^3: perl -d: puzzling behavior when run in program in current directory
by Anonymous Monk on Jan 01, 2017 at 16:49 UTC
    So if seems as if something in the original directory is "polluting" the operation of the debugger.

    Just some ideas: .dot files, hard links, symbolic links, directory permissions, ACLs? Does ls -lAR on the respective directories show anything like that?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1178771]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (3)
As of 2024-04-20 01:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found