Path: utzoo!utgpu!water!watmath!clyde!rutgers!uwvax!dogie!uwmcsd1!ig!agate!ucbvax!ucsfcgl!cca.ucsf.edu!root From: root@cca.ucsf.edu (Computer Center) Newsgroups: comp.sources.d Subject: Re: Using perl without "#!" Summary: /bin/perl is a typical hacker's mistake Message-ID: <1150@ucsfcca.ucsf.edu> Date: 12 Feb 88 00:54:22 GMT References: <184@ateng.UUCP> <1291@devvax.JPL.NASA.GOV> Organization: Computer Center, UCSF Lines: 39 In article <1291@devvax.JPL.NASA.GOV>, lwall@devvax.JPL.NASA.GOV (Larry Wall) writes: > The answer is that I want people to be able to write somewhat > portable perl scripts. I intended that you should always be able to get > to /bin/perl on any machine, even it is just a symbolic link to where the > real perl is stored. Trying to lock non-standard programs into /bin is a typical hacker's mistake. Even a program as fine as perl is said to be doesn't belong in /bin. Normally, Unix systems have very limited space in the root filesystem for very good reasons and even if there were space its contents should remain standardized for each version (at the least). The appropriate place for such programs is /usr/local/bin with their support files in /usr/local/lib and their own subdirectories there if multiple files are required. This isolates the local additions into a distinct subtree which may be a separate filesystem allowing more flexible space control. The virtues of such a structure are obvious; the name /usr/local is both suggestive and the most widely used convention although not a formal standard (unless /usr/group has responded to the suggestion). Setting up this structure makes it easy for users to determine when they are using programs which they may not find at other installations, simplifies system administration, and improves reliability. You only need to go through one system upgrade on a large system where promiscuous insertion of non-standard programs into assorted parts of the filesystem structure has been permitted to appreciate firm enforcement of such a convention. Thos Sumner (thos@cca.ucsf.edu) BITNET: thos@ucsfcca (The I.G.) (...ucbvax!ucsfcgl!cca.ucsf!thos) OS|2 -- an Operating System for puppets. #include