⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 perltodo.pod

📁 MSYS在windows下模拟了一个类unix的终端
💻 POD
📖 第 1 页 / 共 2 页
字号:
=item VecArrayImplement array using vec().  Nathan Torkington has working code todo this.=item SubstrArrayImplement array using substr()=item VirtualArrayImplement array using a file=item ShiftSpliceDefines shift et al in terms of splice method=back=head2 Procedural optionsSupport procedural interfaces for the common cases of Perl'sgratuitously OOO modules.  Tom objects to "use IO::File" reading manythousands of lines of code.=head2 RPCWrite a module for transparent, portable remote procedure calls.  (Notcore).  This touches on the CORBA and ILU work.=head2 y2k localtime/gmtimeWrite a module, Y2k::Catch, which overloads localtime and gmtime'sreturned year value and catches "bad" attempts to use it.=head2 Export File::Find variablesMake File::Find export C<$name> etc manually, at least if asked to.=head2 IoctlFinish a proper Ioctl module.=head2 Debugger attach/detachPermit a user to debug an already-running program.=head2 Regular Expression debuggerCreate a visual profiler/debugger tool that stepped you through theexecution of a regular expression point by point.  Ilya has a moduleto color-code and display regular expression parses and executions.There's something at http://tkworld.org/ that might be a good start,it's a Tk/Tcl RE wizard, that builds regexen of many flavours.=head2 Alternative RE SyntaxMake an alternative regular expression syntax that is accessed througha module.  For instance,  use RE;  $re = start_of_line()      ->literal("1998/10/08")      ->optional( whitespace() )      ->literal("[")      ->remember( many( or( "-", digit() ) ) );  if (/$re/) {    print "time is $1\n";  }Newbies to regular expressions typically only use a subset of the fulllanguage.  Perhaps you wouldn't have to implement the full feature set.=head2 Bundled modulesNicholas Clark (nick@flirble.org) had a patch for storing modules inzipped format.  This needs exploring and concluding.=head2 ExpectAdopt IO::Tty, make it as portable as Don Libes' "expect" (can we linkagainst expect code?), and perfect a Perl version of expect.  IO::Ttyand expect could then be distributed as part of the core distribution,replacing Comm.pl and other hacks.=head2 GUI::NativeA simple-to-use interface to native graphical abilities wouldbe welcomed.  Oh, Perl's access Tk is nice enough, and reasonablyportable, but it's not particularly as fast as one would like.Simple access to the mouse's cut buffer or mouse-presses shouldn'trequired loading a few terabytes of Tk code.=head2 Update semibroken auxiliary tools; h2ph, a2p, etc.Kurt Starsinic is working on h2ph.  mjd has fixed bugs in a2p in thepast.  a2p apparently doesn't work on nawk and gawk extensions.Graham Barr has an Include module that does h2ph work at runtime.=head2 pod2htmlA short-term fix: pod2html generates absolute HTML links.  Make itgenerate relative links.=head2 PodcheckerSomething like lint for Pod would be good.  Something that catchescommon errors as well as gross ones.  Brad Appleton is puttingtogether something as part of his PodParser work.=head1 Tom's Wishes=head2 WebperlDesign a webperl environment that's as tightly integrated and aseasy-to-use as Perl's current command-line environment.=head2 Mobile agentsMore work on a safe and secure execution environment for mobileagents would be neat; the Safe.pm module is a start, but there's astill a lot to be done in that area.  Adopt Penguin?=head2 POSIX on non-POSIXStandard programming constructs for non-POSIX systems would help alot of programmers stuck on primitive, legacy systems.  For example,Microsoft still hasn't made a usable POSIX interface on their clunkysystems, which means that standard operations such as alarm() andfork(), both critical for sophisticated client-server programming,must both be kludged around.I'm unsure whether Tom means to emulate alarm( )and fork(), or merelyto provide a document like perlport.pod to say which features areportable and which are not.=head2 Portable installationsFigure out a portable semi-gelled installation, that is, one withoutfull paths.  Larry has said that he's thinking about this.  Ilyapointed out that perllib_mangle() is good for this.=head1 Win32 Stuff=head2 Rename new headers to be consistent with the rest=head2 Sort out the spawnvp() mess=head2 Work out DLL versioning=head2 Style-check=head1 Would be nice to have=over 4=item C<pack "(stuff)*">=item Contiguous bitfields in pack/unpack=item lexperl=item Bundled perl preprocessor=item Use posix calls internally where possible=item format BOTTOM=item -i rename file only when successfully changed=item All ARGV input should act like <>=item report HANDLE [formats].=item support in perlmain to rerun debugger=item lvalue functionsTuomas Lukka, on behalf of the PDL project, greatly desires this andIlya has a patch for it (probably against an older version of Perl).Tuomas points out that what PDL really wants is lvalue I<methods>,not just subs.=back=head1 Possible pragmas=head2 'less'(use less memory, CPU)=head1 Optimizations=head2 constant function cache=head2 foreach(reverse...)=head2 Cache eval treeUnless lexical outer scope used (mark in &compiling?).=head2 rcatmaybe=head2 Shrink opcode tablesVia multiple implementations selected in peep.=head2 Cache hash valueNot a win, according to Guido.=head2 Optimize away @_ where possible=head2 Optimize sort by { $a <=> $b }Greg Bacon added several more sort optimizations.  These havemade it into 5.005_55, thanks to Hans Mulder.=head2 Rewrite regexp parser for better integrated optimizationThe regexp parser was rewritten for 5.005.  Ilya's the regexp guru.=head1 Vague possibilities=over 4=item ref function in list contextThis seems impossible to do without substantially breaking code.=item make tr/// return histogram in list context?=item Loop control on do{} et al=item Explicit switch statementsNobody has yet managed to come up with a switch syntax that wouldallow for mixed hash, constant, regexp checks.  Submit implementationwith syntax, please.=item compile to real threaded code=item structured types=item Modifiable $1 et alThe intent is for this to be a means of editing the matched portions ofthe target string.=back=head1 To Do Or Not To DoThese are things that have been discussed in the past and roundlycriticized for being of questionable value.=head2 Making my() work on "package" variablesBeing able to say my($Foo::Bar), something that sounds ludicrous andthe 5.6 pumpking has mocked.=head2 "or" testing defined not truthWe tell people that C<||> can be used to give a default value to avariable:    $children = shift || 5;		# default is 5 childrenwhich is almost (but not):    $children = shift;    $children = 5 unless $children;but if the first argument was given and is "0", then it will beconsidered false by C<||> and C<5> used instead.  Really we wantan C<||>-like operator that behaves like:    $children = shift;    $children = 5 unless defined $children;Namely, a C<||> that tests defined-ness rather than truth.  One wasdiscussed, and a patch submitted, but the objections were many.  Whilethere were objections, many still feel the need.  At least it wasdecided that C<??> is the best name for the operator.=head2 "dynamic" lexicals  my $x;  sub foo {    local $x;  }Localizing, as Tim Bunce points out, is a separate concept fromwhether the variable is global or lexical.  Chip Salzenberg hadan implementation once, but Larry thought it had potential toconfuse.=head2 "class"-based, rather than package-based "lexicals"This is like what the Alias module provides, but the variables wouldbe lexicals reserved by perl at compile-time, which really are indicespointing into the pseudo-hash object visible inside every method sodeclared.=head1 Threading=head2 ModulesWhich of the standard modules are thread-safe?  Which CPAN modules?How easy is it to fix those non-safe modules?=head2 TestingThreading is still experimental.  Every reproducible bug identifiessomething else for us to fix.  Find and submit more of these problems.=head2 $AUTOLOAD=head2 exit/dieConsistent semantics for exit/die in threads.=head2 External threadsBetter support for externally created threads.=head2 Thread::Pool=head2 thread-safetySpot-check globals like statcache and global GVs for thread-safety."B<Part done>", says Sarathy.=head2 Per-thread GVsAccording to Sarathy, this would make @_ be the same in threadedand non-threaded, as well as helping solve problems like filehandles(the same filehandle currently cannot be used in two threads).=head1 Compiler=head2 OptimizationThe compiler's back-end code-generators for creating bytecode orcompilable C code could use optimization work.=head2 ByteperlFigure out how and where byteperl will be built for the variousplatforms.=head2 Precompiled modulesSave byte-compiled modules on disk.=head2 ExecutablesAuto-produce executable.=head2 Typed lexicalsTyped lexicals should affect B::CC::load_pad.=head2 Win32Workarounds to help Win32 dynamic loading.=head2 END blocksEND blocks need saving in compiled output, now that CHECK blocksare available.=head2 _AUTOLOAD_AUTOLOAD prodding.=head2 comppadlistFix comppadlist (names in comppad_name can have fake SvCURfrom where newASSIGNOP steals the field).=head2 Cached compilationCan we install modules as bytecode?=head1 Recently Finished Tasks=head2 Figure a way out of $^(capital letter)Figure out a clean way to extend $^(capital letter) beyondthe 26 alphabets.  (${^WORD} maybe?)Mark-Jason Dominus sent a patch which went into 5.005_56.=head2 FilenamesKeep filenames in the distribution and in the standard module setbe 8.3 friendly where feasible.  Good luck changing the standardmodules, though.=head2 Foreign linesPerl should be more generous in accepting foreign line terminations.Mostly B<done> in 5.005.=head2 Namespace cleanup    symbol-space: "pl_" prefix for all global vars                  "Perl_" prefix for all functions    CPP-space:	  stop malloc()/free() pollution unless asked=head2 ISA.pmRename and alter ISA.pm.  B<Done>.  It is now base.pm.=head2 gettimeofdaySee Time::HiRes.=head2 autocroak?This is the Fatal.pm module, so any builtin that doesnot return success automatically die()s.  If you're feeling brave, tiethis in with the unified exceptions scheme.=cut

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -