📄 perlbug.1
字号:
.SpBe aware of the familiar traps that perl programmers of various huesfall into. See perltrap..SpCheck in perldiag to see what any Perl error message(s) mean.If message isn't in perldiag, it probably isn't generated by Perl.Consult your operating system documentation instead..SpIf you are on a non-UNIX platform check also perlport, as somefeatures may be unimplemented or work differently..SpTry to study the problem under the Perl debugger, if necessary.See perldebug..IP "Do you have a proper test case?" 4.IX Item "Do you have a proper test case?"The easier it is to reproduce your bug, the more likely it will befixed, because if no one can duplicate the problem, no one can fix it.A good test case has most of these attributes: fewest possible numberof lines; few dependencies on external commands, modules, orlibraries; runs on most platforms unimpeded; and is self-documenting..SpA good test case is almost always a good candidate to be on the perltest suite. If you have the time, consider making your test case sothat it will readily fit into the standard test suite..SpRemember also to include the \fBexact\fR error messages, if any.\&\*(L"Perl complained something\*(R" is not an exact error message..SpIf you get a core dump (or equivalent), you may use a debugger(\fBdbx\fR, \fBgdb\fR, etc) to produce a stack trace to include in the bugreport. \s-1NOTE:\s0 unless your Perl has been compiled with debug info(often \fB\-g\fR), the stack trace is likely to be somewhat hard to usebecause it will most probably contain only the function names and nottheir arguments. If possible, recompile your Perl with debug info andreproduce the dump and the stack trace..IP "Can you describe the bug in plain English?" 4.IX Item "Can you describe the bug in plain English?"The easier it is to understand a reproducible bug, the more likely itwill be fixed. Anything you can provide by way of insight into theproblem helps a great deal. In other words, try to analyze theproblem (to the extent you can) and report your discoveries..IP "Can you fix the bug yourself?" 4.IX Item "Can you fix the bug yourself?"A bug report which \fIincludes a patch to fix it\fR will almostdefinitely be fixed. Use the \f(CW\*(C`diff\*(C'\fR program to generate your patches(\f(CW\*(C`diff\*(C'\fR is being maintained by the \s-1GNU\s0 folks as part of the \fBdiffutils\fRpackage, so you should be able to get it from any of the \s-1GNU\s0 softwarerepositories). If you do submit a patch, the cool-dude counter atperlbug@perl.org will register you as a savior of the world. Yourpatch may be returned with requests for changes, or requests for moredetailed explanations about your fix..SpHere are some clues for creating quality patches: Use the \fB\-c\fR or\&\fB\-u\fR switches to the diff program (to create a so-called context orunified diff). Make sure the patch is not reversed (the firstargument to diff is typically the original file, the second argumentyour changed file). Make sure you test your patch by applying it withthe \f(CW\*(C`patch\*(C'\fR program before you send it on its way. Try to follow thesame style as the code you are trying to patch. Make sure your patchreally does work (\f(CW\*(C`make test\*(C'\fR, if the thing you're patching supportsit)..ie n .IP "Can you use ""perlbug"" to submit the report?" 4.el .IP "Can you use \f(CWperlbug\fR to submit the report?" 4.IX Item "Can you use perlbug to submit the report?"\&\fBperlbug\fR will, amongst other things, ensure your report includescrucial information about your version of perl. If \f(CW\*(C`perlbug\*(C'\fR is unableto mail your report after you have typed it in, you may have to composethe message yourself, add the output produced by \f(CW\*(C`perlbug \-d\*(C'\fR and emailit to \fBperlbug@perl.org\fR. If, for some reason, you cannot run\&\f(CW\*(C`perlbug\*(C'\fR at all on your system, be sure to include the entire outputproduced by running \f(CW\*(C`perl \-V\*(C'\fR (note the uppercase V)..SpWhether you use \f(CW\*(C`perlbug\*(C'\fR or send the email manually, please makeyour Subject line informative. \*(L"a bug\*(R" not informative. Neither is\&\*(L"perl crashes\*(R" nor \*(L"\s-1HELP\s0!!!\*(R". These don't help.A compact description of what's wrong is fine..PPHaving done your bit, please be prepared to wait, to be told the bugis in your code, or even to get no reply at all. The Perl maintainersare busy folks, so if your problem is a small one or if it is difficultto understand or already known, they may not respond with a personal reply.If it is important to you that your bug be fixed, do monitor the\&\f(CW\*(C`Changes\*(C'\fR file in any development releases since the time you submittedthe bug, and encourage the maintainers with kind words (but never anyflames!). Feel free to resend your bug report if the next releasedversion of perl comes out and your bug is still present..SH "OPTIONS".IX Header "OPTIONS".IP "\fB\-a\fR" 8.IX Item "-a"Address to send the report to. Defaults to \fBperlbug@perl.org\fR..IP "\fB\-A\fR" 8.IX Item "-A"Don't send a bug received acknowledgement to the reply address.Generally it is only a sensible to use this option if you are aperl maintainer actively watching perl porters for your message toarrive..IP "\fB\-b\fR" 8.IX Item "-b"Body of the report. If not included on the command line, orin a file with \fB\-f\fR, you will get a chance to edit the message..IP "\fB\-C\fR" 8.IX Item "-C"Don't send copy to administrator..IP "\fB\-c\fR" 8.IX Item "-c"Address to send copy of report to. Defaults to the address of thelocal perl administrator (recorded when perl was built)..IP "\fB\-d\fR" 8.IX Item "-d"Data mode (the default if you redirect or pipe output). This prints outyour configuration data, without mailing anything. You can use thiswith \fB\-v\fR to get more complete data..IP "\fB\-e\fR" 8.IX Item "-e"Editor to use..IP "\fB\-f\fR" 8.IX Item "-f"File containing the body of the report. Use this to quickly send aprepared message..IP "\fB\-F\fR" 8.IX Item "-F"File to output the results to instead of sending as an email. Usefulparticularly when running perlbug on a machine with no direct internetconnection..IP "\fB\-h\fR" 8.IX Item "-h"Prints a brief summary of the options..IP "\fB\-ok\fR" 8.IX Item "-ok"Report successful build on this system to perl porters. Forces \fB\-S\fRand \fB\-C\fR. Forces and supplies values for \fB\-s\fR and \fB\-b\fR. Onlyprompts for a return address if it cannot guess it (for use with\&\fBmake\fR). Honors return address specified with \fB\-r\fR. You can use thiswith \fB\-v\fR to get more complete data. Only makes a report if thissystem is less than 60 days old..IP "\fB\-okay\fR" 8.IX Item "-okay"As \fB\-ok\fR except it will report on older systems..IP "\fB\-nok\fR" 8.IX Item "-nok"Report unsuccessful build on this system. Forces \fB\-C\fR. Forces andsupplies a value for \fB\-s\fR, then requires you to edit the reportand say what went wrong. Alternatively, a prepared report may besupplied using \fB\-f\fR. Only prompts for a return address if itcannot guess it (for use with \fBmake\fR). Honors return addressspecified with \fB\-r\fR. You can use this with \fB\-v\fR to get morecomplete data. Only makes a report if this system is less than 60days old..IP "\fB\-nokay\fR" 8.IX Item "-nokay"As \fB\-nok\fR except it will report on older systems..IP "\fB\-r\fR" 8.IX Item "-r"Your return address. The program will ask you to confirm its defaultif you don't use this option..IP "\fB\-S\fR" 8.IX Item "-S"Send without asking for confirmation..IP "\fB\-s\fR" 8.IX Item "-s"Subject to include with the message. You will be prompted if you don'tsupply one on the command line..IP "\fB\-t\fR" 8.IX Item "-t"Test mode. The target address defaults to \fBperlbug\-test@perl.org\fR..IP "\fB\-v\fR" 8.IX Item "-v"Include verbose configuration data in the report..SH "AUTHORS".IX Header "AUTHORS"Kenneth Albanowski (<kjahds@kjahds.com>), subsequently \fIdoc\fRtoredby Gurusamy Sarathy (<gsar@activestate.com>), Tom Christiansen(<tchrist@perl.com>), Nathan Torkington (<gnat@frii.com>),Charles F. Randall (<cfr@pobox.com>), Mike Guy(<mjtg@cam.a.uk>), Dominic Dunlop (<domo@computer.org>),Hugo van der Sanden (<hv@crypt.org<gt>),Jarkko Hietaniemi (<jhi@iki.fi>), Chris Nandor(<pudge@pobox.com>), Jon Orwant (<orwant@media.mit.edu>,and Richard Foley (<richard@rfi.net>)..SH "SEE ALSO".IX Header "SEE ALSO"\&\fIperl\fR\|(1), \fIperldebug\fR\|(1), \fIperldiag\fR\|(1), \fIperlport\fR\|(1), \fIperltrap\fR\|(1),\&\fIdiff\fR\|(1), \fIpatch\fR\|(1), \fIdbx\fR\|(1), \fIgdb\fR\|(1).SH "BUGS".IX Header "BUGS"None known (guess what must have been used to report them?)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -