Re: perl 5.8.1: perldoc perl fails
Hi Gerrit, > perldoc perl.pod works well Meanwhile I found out that too. > Yes, please fix it :-) rm /bin/perl.exe > I just figured that calling: perldoc perl.pod works well. > I tried to understand what happens in the perldoc script > and I have no idea why it doesn't work. And most > interesting is that it works with perl 5.6.1. It seems to be related with the new perl IO functions and Cygwin's changes in handling executable files. I *assume* that perldoc is looking for an executable "perl" in the path (call perldoc with option -v) and finds - reported by Cygwin - perl.exe. Opening "perl" obviously fails then in function "containspod" of perldoc. You can recreate the problem with any other perl.pod topic by creating a appropriate executable, e.g. just copy /bin/perldoc to /bin/perlintro.exe and call "perldoc perlintro". As workaround call perl.pod with extension (as your recommendatiuon above) or delete /bin/perl.exe and create a link from /bin/perl5.8.0.exe to /bin/perl. Regards, Jörg -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: perl 5.8.1: perldoc perl fails
Hallo Igor, Am Samstag, 28. Dezember 2002 um 02:10 schriebst du: > On Sat, 28 Dec 2002, Gerrit P. Haase wrote: >> Hallo Joerg, >> >> Am Freitag, 20. Dezember 2002 um 17:55 schriebst du: >> >> > Hi Perl maintainer, >> >> > using the new experimental Perl 5.8.1 release, the command >> >> > $ perldoc perl >> > Can't open /usr/bin/perl: No such file or directory at /bin/perldoc line >> > 206. >> >> perldoc perl.pod works well >> >> > fails to present the Perl manual overview. Calling the manual pages >> > directly, anything works well: >> >> > perldoc perlfun >> >> > It seems that perldoc does not find the /usr/lib/perl5/5.8.1/pods/perl.pod, >> > because it matches somehow /usr/bin/perl first. >> >> Yes, please fix it :-) >> >> I just figured that calling: perldoc perl.pod works well. >> I tried to understand what happens in the perldoc script >> and I have no idea why it doesn't work. And most >> interesting is that it works with perl 5.6.1. >> >> Gerrit > Gerrit, > I'm by no means a perl guru, but here are a few observations from > /usr/bin/perldoc: > 266: sub searchfor { > 267: my($recurse,$s,@dirs) = @_; > 276: for ($i=0; $i<@dirs; $i++) { > 277: $dir = $dirs[$i]; > 279: if ( ( $ret = check_file $dir,"$s.pod") > 280:or ( $ret = check_file $dir,"$s.pm") > 281:or ( $ret = check_file $dir,$s) > ... etc ... > 312: } This should do it. > 400: foreach (@pages) { > 413: # We must look both in @INC for library modules and in $bindir > 414: # for executables, like h2xs or perldoc itself. > 415: my @searchdirs = (@INC, $bindir); > 434: my @files = searchfor(0,$_,@searchdirs); > 462: } This too. > In other words, it looks like the script searches @INC (which can vary > from version to version). If you look at the changes in @INC between > 5.6.1 and 5.8, you could probably track down this problem. It should find perl.pod in the @INC, but it doesn't, instead it looks in /bin and finds the executable. > Sorry if I'm restating the obvious. > Igor No problem, that was the same what I saw, I fiddled around at some lines and tried to change this and that, but it became worse and I decided to let it as it is until some nice guy comes up with a nice bug report which helps us to track it down :-) Gerrit -- =^..^= -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: perl 5.8.1: perldoc perl fails
On Sat, 28 Dec 2002, Gerrit P. Haase wrote: > Hallo Joerg, > > Am Freitag, 20. Dezember 2002 um 17:55 schriebst du: > > > Hi Perl maintainer, > > > using the new experimental Perl 5.8.1 release, the command > > > $ perldoc perl > > Can't open /usr/bin/perl: No such file or directory at /bin/perldoc line > > 206. > > perldoc perl.pod works well > > > fails to present the Perl manual overview. Calling the manual pages > > directly, anything works well: > > > perldoc perlfun > > > It seems that perldoc does not find the /usr/lib/perl5/5.8.1/pods/perl.pod, > > because it matches somehow /usr/bin/perl first. > > Yes, please fix it :-) > > I just figured that calling: perldoc perl.pod works well. > I tried to understand what happens in the perldoc script > and I have no idea why it doesn't work. And most > interesting is that it works with perl 5.6.1. > > Gerrit Gerrit, I'm by no means a perl guru, but here are a few observations from /usr/bin/perldoc: 266: sub searchfor { 267: my($recurse,$s,@dirs) = @_; 276: for ($i=0; $i<@dirs; $i++) { 277: $dir = $dirs[$i]; 279: if ( ( $ret = check_file $dir,"$s.pod") 280:or ( $ret = check_file $dir,"$s.pm") 281:or ( $ret = check_file $dir,$s) ... etc ... 312: } 400: foreach (@pages) { 413: # We must look both in @INC for library modules and in $bindir 414: # for executables, like h2xs or perldoc itself. 415: my @searchdirs = (@INC, $bindir); 434: my @files = searchfor(0,$_,@searchdirs); 462: } In other words, it looks like the script searches @INC (which can vary from version to version). If you look at the changes in @INC between 5.6.1 and 5.8, you could probably track down this problem. Sorry if I'm restating the obvious. Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_[EMAIL PROTECTED] ZZZzz /,`.-'`'-. ;-;;,_[EMAIL PROTECTED] |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! Oh, boy, virtual memory! Now I'm gonna make myself a really *big* RAMdisk! -- /usr/games/fortune -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: perl 5.8.1: perldoc perl fails
Hallo Joerg, Am Freitag, 20. Dezember 2002 um 17:55 schriebst du: > Hi Perl maintainer, > using the new experimental Perl 5.8.1 release, the command > $ perldoc perl > Can't open /usr/bin/perl: No such file or directory at /bin/perldoc line > 206. perldoc perl.pod works well > fails to present the Perl manual overview. Calling the manual pages > directly, anything works well: > perldoc perlfun > It seems that perldoc does not find the /usr/lib/perl5/5.8.1/pods/perl.pod, > because it matches somehow /usr/bin/perl first. Yes, please fix it :-) I just figured that calling: perldoc perl.pod works well. I tried to understand what happens in the perldoc script and I have no idea why it doesn't work. And most interesting is that it works with perl 5.6.1. Gerrit -- =^..^= -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/