Perl / perl5

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

Poor diagnostic when declaring hash slice #92

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

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

Searchable as RT896$

p5pRT commented 24 years ago

From garethr@cre.canon.co.uk

When I run this program​:

  my @​bar{1\,2\,3} = (1\,2\,3);   my @​foo{map $_\,1\,2\,3} = (1\,2\,3);

I get the output​:

  Can't declare hash slice in my at foo.pl line 1\, near "} ="   Can't use global $_ in "my" at foo.pl line 2.

I think the error reported on line 2 is confusing. I expect to see the same error on line 2 as on line 1\, since both lines are erroneously trying to declare a hash slice with "my".

Perl Info ``` Site configuration information for perl 5.00502: Configured by abw at Thu Nov 19 10:50:08 GMT 1998. Summary of my perl5 (5.0 patchlevel 5 subversion 2) configuration: Platform: osname=solaris, osvers=2.6, archname=sun4-solaris uname='sunos bandanna 5.6 generic_105181-03 sun4u sparc sunw,ultra-1 ' hint=previous, useposix=true, d_sigaction=define usethreads=undef useperlio=undef d_sfio=undef Compiler: cc='gcc', optimize='-O', gccversion=2.8.0 cppflags='-I/opt/gnu/include -I/user/perl/build/include' ccflags ='-I/opt/gnu/include -I/user/perl/build/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=n, prototype=define Linker and Libraries: ld='gcc', ldflags ='-L/opt/gnu/lib -L/user/perl/build/lib' libpth=/opt/gnu/lib /lib /usr/lib /usr/ccs/lib /user/perl/build/lib libs=-lsocket -lnsl -lgdbm -ldl -lm -lc -lcrypt -ldb libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -L/opt/gnu/lib -L/user/perl/build/lib' Locally applied patches: @INC for perl 5.00502: /apps/perl5/lib/5.00502/sun4-solaris /apps/perl5/lib/5.00502 /apps/perl5/lib/site_perl/5.005/sun4-solaris /apps/perl5/lib/site_perl/5.005 . Environment for perl 5.00502: HOME=/user/garethr LANG=C LD_LIBRARY_PATH=/usr/dt/lib:/usr/openwin/lib:/apps/X11R5/lib:/usr/lib LOGDIR (unset) PATH=/usr/dt/bin:/usr/openwin/bin:/bin:/usr/bin:/usr/ucb:/bin:/usr/bin:/cre/bin:/apps/gcc-2.8.0/bin:/apps/frame5/bin:/apps/emacs/bin:/apps/tex/bin:/apps/perl5/bin:/user/web/bin/scripts:/user/web/bin/SunOS-5.6:/apps/gnu/bin:/apps/mysql/bin:/usr/ccs/bin:/apps/X11R5/bin:/usr/openwin/bin PERL_BADLANG (unset) SHELL=/cre/bin/bash ```