home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / bugs / sys5 / 180 < prev    next >
Encoding:
Text File  |  1993-01-12  |  2.4 KB  |  48 lines

  1. Newsgroups: comp.bugs.sys5
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!howland.reston.ans.net!usc!news.cerf.net!netlabs!lwall
  3. From: lwall@netlabs.com (Larry Wall)
  4. Subject: Re: Improving "file" (was Re: Making Solaris 2.1 smarter...)
  5. Message-ID: <1993Jan12.193219.14301@netlabs.com>
  6. Sender: news@netlabs.com
  7. Nntp-Posting-Host: scalpel.netlabs.com
  8. Organization: NetLabs, Inc.
  9. References: <16330@auspex-gw.auspex.com> <16348@auspex-gw.auspex.com> <1993Jan12.035032.23598@cs.wisc.edu>
  10. Distribution: na
  11. Date: Tue, 12 Jan 1993 19:32:19 GMT
  12. Lines: 34
  13.  
  14. In article <1993Jan12.035032.23598@cs.wisc.edu> dws@ssec.wisc.edu (DaviD W. Sanderson) writes:
  15. : >Or, alternatively, it could have all of the "standard" smarts built in,
  16. : >but, if possible, source another script that contains local additions;
  17. : >that way, you can keep the standard distribution and local additions
  18. : >separate, and be able to drop in an updated standard distribution
  19. : >without necessarily having to hack local additions in....
  20. : My perl script is designed to make it easy to add in new modules for
  21. : local additions at 'make' time.  (And of course, you can also
  22. : selectively omit any recognition modules you don't want.)  It does not
  23. : use an external database because no matter how many little fobs and
  24. : bells you allow in such a specification there will always be something
  25. : it can't describe that you want it to.  E.g. determining whether a NeXT
  26. : Mach executable is stripped requires traipsing through the file using
  27. : values you pick up along the way.
  28.  
  29. But you do have an external database of sorts, if you have to do a
  30. "make".  And Guy wasn't advocating a passive external database.  His
  31. point still stands--if, from a standard location, you can "source" your
  32. architecture dependent modules at runtime (and you can in Perl, using
  33. "require") then your program can construct itself at runtime, and you
  34. can upgrade either the architecture independent or the architecture
  35. dependent portions without doing any "make" mumbo-jumbo, which is part
  36. of what Perl is all about anyway.  Another way of saying it is that
  37. Perl tries to make compile-time bindings fairly cheap in order to delay
  38. such bindings until invocation time, and that constructing a script
  39. with "make" may be indicative that you aren't using Perl's strengths.
  40.  
  41. Then again, maybe not.  There's more than one way to optimize your
  42. bindings.  There are certainly valid reasons for doing it earlier--you
  43. just haven't said any of them yet.  :-)
  44.  
  45. Larry Wall
  46. lwall@netlabs.com
  47.