From owner-freebsd-current Wed May 8 15:18:58 2002 Delivered-To: freebsd-current@freebsd.org Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by hub.freebsd.org (Postfix) with ESMTP id B26B037B40C; Wed, 8 May 2002 15:18:47 -0700 (PDT) Received: by flood.ping.uio.no (Postfix, from userid 2602) id 125C6535E; Thu, 9 May 2002 00:18:42 +0200 (CEST) X-URL: http://www.ofug.org/~des/ X-Disclaimer: The views expressed in this message do not necessarily coincide with those of any organisation or company with which I am or have been affiliated. To: Peter Wemm Cc: Robert Watson , Mark Murray , current@FreeBSD.ORG Subject: Re: The future of perl on FreeBSD References: <20020508075543.A5E5838CC@overcee.wemm.org> From: Dag-Erling Smorgrav Date: 09 May 2002 00:18:41 +0200 In-Reply-To: <20020508075543.A5E5838CC@overcee.wemm.org> Message-ID: Lines: 13 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.2 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --=-=-= Peter Wemm writes: > We have several choices.. From installing a symlink pointing to wherever > the default perl package is, through to a simple redirector that searches > $PATH and/or looks in a few well-known locations. As previously posted... DES -- Dag-Erling Smorgrav - des@ofug.org --=-=-= Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: attachment; filename=perl.c Content-Transfer-Encoding: quoted-printable /*- * Copyright (c) 2002 Dag-Erling Co=EFdan Sm=F8rgrav * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer * in this position and unchanged. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include extern char **environ; int main(int argc __unused, char *argv[]) { char path[PATH_MAX]; const char *p, *q, *self; size_t len; self =3D argv[0]; argv[0] =3D path; for (p =3D q =3D getenv("PATH"); p && *p && *q; p =3D q + 1) { for (q =3D p; *q && *q !=3D ':'; ++q) /* nothing */ ; len =3D snprintf(path, sizeof path, "%.*s/perl", (int)(q - p), p); if (len >=3D PATH_MAX || strcmp(path, self) =3D=3D 0) continue; execve(path, argv, environ); if (errno !=3D ENOENT) err(1, "%s", path); } errx(1, "Perl is not installed, try 'pkg_add -r perl'"); } --=-=-=-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message