Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.85k stars 527 forks source link

@_ is treated differently when in debugger #136

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

Migrated from rt.perl.org#941 (status was 'resolved')

Searchable as RT941$

p5pRT commented 24 years ago

From @gbarr

The script below gives different output when run with -d eg

$ perl /tmp/tst AAA 1 2 3 4 123 1 2 3 4 123 1 2 3 4

$ perl -d -e 1   DB\<1> do "/tmp/tst"; AAA 1 2 3 4 123 1 2 3 4 AAA 1 2 3 4

This only happens when perl is compiled with threading enabled.

--%\<----%\<-- /tmp/tst --%\<----%\<----%\<--

package AAA;

sub import {   print join(" "\,@​_\,"\n");   shift;   unshift @​_\, '123';   print join(" "\,@​_\,"\n");   goto &{BBB->can('import')}; }

package BBB;

sub import {   print join(" "\,@​_\,"\n"); }

package;

AAA->import(1\,2\,3\,4);

Perl Info ``` Site configuration information for perl 5.00557: Configured by gbarr at Wed Jun 30 17:00:46 CDT 1999. Summary of my perl5 (revision 5.0 version 5 subversion 57) configuration: Platform: osname=solaris, osvers=2.5.1, archname=sun4-solaris-thread uname='sunos punch 5.5.1 generic_103640-26 sun4u sparc sunw,ultra-2 ' config_args='-ders -D cc=gcc -D prefix=/home/gbarr/local/perl5.005_57 -D sitelib=/home/gbarr/local/site_perl -D optimize=-O2 -g -Dusethreads' hint=recommended, useposix=true, d_sigaction=define usethreads=define useperlio=undef d_sfio=undef use64bits=undef usemultiplicity=undef Compiler: cc='gcc', optimize='-O2 -g', gccversion=2.8.1 cppflags='-D_REENTRANT -DDEBUGGING -I/usr/local/include' ccflags ='-D_REENTRANT -DDEBUGGING -I/usr/local/include' stdchar='unsigned char', d_stdstdio=define, usevfork=false intsize=4, longsize=4, ptrsize=4, doublesize=8 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 alignbytes=8, usemymalloc=y, prototype=define Linker and Libraries: ld='gcc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -lgdbm -ldb -ldl -lm -lposix4 -lpthread -lc -lcrypt libc=, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib' Locally applied patches: @INC for perl 5.00557: lib /home/gbarr/local/perl5.005_57/lib/5.00557/sun4-solaris-thread /home/gbarr/local/perl5.005_57/lib/5.00557 /home/gbarr/local/site_perl/sun4-solaris-thread /home/gbarr/local/site_perl . Environment for perl 5.00557: HOME=/home/gbarr LANG=C LANGUAGE (unset) LD_LIBRARY_PATH=/home/dkse/net/local/lib:/home/gbarr/local/kde1.1/lib:/home/gbarr/local/qt-1.42/lib:/home/clyvb/lib:/usr/dt/lib:/usr/lib:/usr/local/X11R6/lib:/usr/lib/X11:/usr/openwin/lib:/home/clyvb/lib/xpm:/home/clyvb/lib/xpm:/apps/idea/lib:/apps/idea/shared/lib:/home/gbarr/local/lib LOGDIR (unset) PATH=/home/gbarr/local/kde1.1/bin:.:/home/gbarr/bin:/apps/gnu/bin:/home/gbarr/local/perl/bin:/home/gbarr/local/bin:/usr/bin:/usr/local/bin:/usr/xpg4/bin:/usr/openwin/bin:/usr/bin/X11:/apps/dad/bin:/bin:/usr/ucb PERL_BADLANG (unset) SHELL=/bin/bash ```