Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Perl debugger ("perl -d") breaks with long input lines #373

Closed
p5pRT opened this issue Aug 12, 1999 · 2 comments
Closed

Perl debugger ("perl -d") breaks with long input lines #373

p5pRT opened this issue Aug 12, 1999 · 2 comments

Comments

@p5pRT
Copy link

p5pRT commented Aug 12, 1999

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

Searchable as RT1208$

@p5pRT
Copy link
Author

p5pRT commented Aug 12, 1999

From ariels@compugen.co.il

When I enter a very long input line in the Perl debugger, it appears
to be chopped off around the 256 character mark. [Since it appears to
expect a new token at that point, I was unable to verify the exact
location where things break, but I suspect 256 or 255 characters, for
obvious reasons].

Here's a sample transcript from the debugger (taken while running
"perl -de 42")​:

  DB<24> $x = '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'

  DB<24> p $x
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
  DB<25> $x = '01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'
String found where operator expected at (eval 29) line 2, at end of line
  eval '($@​, $!, $^E, $,, $/, $\\, $^W) = @​saved;package main; $^D = $^D | $DB​::db_stop;
123456789\';

;' called at /usr/local/lib/perl5/5.00503/perl5db.pl line 1239
  DB​::eval called at /usr/local/lib/perl5/5.00503/perl5db.pl line 1133
  DB​::DB called at -e line 1
  (Missing operator before ?)
  eval '($@​, $!, $^E, $,, $/, $\\, $^W) = @​saved;package main; $^D = $^D | $DB​::db_stop;
123456789\';

;' called at /usr/local/lib/perl5/5.00503/perl5db.pl line 1239
  DB​::eval called at /usr/local/lib/perl5/5.00503/perl5db.pl line 1133
  DB​::DB called at -e line 1
Can't find string terminator "'" anywhere before EOF at (eval 29) line 2, <IN> chunk 26.
  eval '($@​, $!, $^E, $,, $/, $\\, $^W) = @​saved;package main; $^D = $^D | $DB​::db_stop;
123456789\';

;' called at /usr/local/lib/perl5/5.00503/perl5db.pl line 1239
  DB​::eval called at /usr/local/lib/perl5/5.00503/perl5db.pl line 1133
  DB​::DB called at -e line 1

  DB<26>

I apologise for not providing a more detailed analysis.

Many thanks.

Perl Info


Site configuration information for perl 5.00503:

Configured by mike at Fri Jun  4 12:44:49 IDT 1999.

Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
  Platform:
    osname=solaris, osvers=2.6, archname=sun4-solaris
    uname='sunos cosmos 5.6 generic_105181-11 sun4u sparc sunw,ultra-2 '
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
    cc='cc', optimize='-fast', gccversion=
    cppflags='-I/usr/local/include'
    ccflags ='-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='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -lgdbm -ldl -lm -lc -lcrypt
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-KPIC', lddlflags='-G -L/usr/local/lib'

Locally applied patches:
    


@INC for perl 5.00503:
    /home/ariels/lib/perl5
    /home/ariels/lib/perl5/site_perl/sun4-solaris
    /home/ariels/lib/perl5/site_perl
    /usr/local/lib/perl5/5.00503/sun4-solaris
    /usr/local/lib/perl5/5.00503
    /usr/local/lib/perl5/site_perl/sun4-solaris
    /usr/local/lib/perl5/site_perl
    .


Environment for perl 5.00503:
    HOME=/home/ariels
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH=/opt/SUNWspro/SC2.0.1:/opt/SUNWspro/SC3.0.1:/usr/openwin/lib:/usr/local/lib
    LOGDIR (unset)
    PATH=.:/home/ariels/bin:/home/ariels/bin/SUNexe:/usr/atria/bin:/usr/bin:/usr/sbin:/etc:/usr/etc:/usr/openwin/bin/xview:/usr/openwin/bin:/usr/local/bin:/usr/ccs/bin:/usr/openwin:/usr/openwin/demo:/usr/local/opt/SUNWspro/bin:/usr/local/opt/SUNWss/bin:/usr/ucb:/usr/local/tex/TeX/bin:/usr/local/kde/bin
    PERL5LIB=/home/ariels/lib/perl5:/home/ariels/lib/perl5/site_perl
    PERL_BADLANG (unset)
    SHELL=/bin/tcsh

@p5pRT
Copy link
Author

p5pRT commented Aug 15, 1999

From [Unknown Contact. See original ticket]

Ariel Scolnicov writes​:

When I enter a very long input line in the Perl debugger, it appears
to be chopped off around the 256 character mark.

What happens if you enter this line to

  perl -wle '$in = <STDIN>; print "Entered​: <$in>"';

?

Most probably it is your system's tty-handler's buffer. Get
Term​::ReadLine​::{Perl|Gnu} to substitute a different input method.

Ilya

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant