Welcome to Linux Knowledge Base and Tutorial
"The place where you learn linux"
Fatherhood.Org

 Create an AccountHome | Submit News | Your Account  

Tutorial Menu
Linux Tutorial Home
Table of Contents

· Introduction to Operating Systems
· Linux Basics
· Working with the System
· Shells and Utilities
· Editing Files
· Basic Administration
· The Operating System
· The X Windowing System
· The Computer Itself
· Networking
· System Monitoring
· Solving Problems
· Security
· Installing and Upgrading
· Linux and Windows

Glossary
MoreInfo
Man Pages
Linux Topics
Test Your Knowledge

Site Menu
Site Map
FAQ
Copyright Info
Terms of Use
Privacy Info
Disclaimer
WorkBoard
Thanks
Donations
Advertising
Masthead / Impressum
Your Account

Communication
Feedback
Forums
Private Messages
Surveys

Features
HOWTOs
News Archive
Submit News
Topics
User Articles
Web Links

Google
Google


The Web
linux-tutorial.info

Who's Online
There are currently, 166 guest(s) and 0 member(s) that are online.

You are an Anonymous user. You can register for free by clicking here

  

perlmacosx



SYNOPSIS

       This document briefly describes perl under Mac OS X.


DESCRIPTION

       The latest Perl (5.8.1-RC3 as of this writing) builds
       without changes under Mac OS X. Under the 10.3 "Panther"
       release, all self-tests pass, and all standard features
       are supported.

       Earlier Mac OS X releases did not include a completely
       thread-safe libc, so threading is not fully supported.
       Also, earlier releases included a somewhat buggy libdb, so
       some of the DB_File tests are known to fail on those
       releases.

       Installation Prefix

       The default installation location for this release uses
       the traditional UNIX directory layout under /usr/local.
       This is the recommended location for most users, and will
       leave the Apple-supplied Perl and its modules undisturbed.

       Using an installation prefix of '/usr' will result in a
       directory layout that mirrors that of Apple's default
       Perl, with core modules stored in '/Sys­
       tem/Library/Perl/${version}', CPAN modules stored in
       '/Library/Perl/${version}', and the addition of '/Net­
       work/Library/Perl/${version}' to @INC for modules that are
       stored on a file server and used by many Macs.

       libperl and Prebinding

       Mac OS X ships with a dynamically-loaded libperl, but the
       default for this release is to compile a static libperl.
       The reason for this is pre-binding. Dynamic libraries can
       be pre-bound to a specific address in memory in order to
       decrease load time. To do this, one needs to be aware of
       the location and size of all previously-loaded libraries.
       Apple collects this information as part of their overall
       OS build process, and thus has easy access to it when
       building Perl, but ordinary users would need to go to a
       great deal of effort to obtain the information needed for
       pre-binding.

       You can override the default and build a shared libperl if
       you wish (Configure ... -Duseshrlib), but the load time
       will be significantly greater than either the static
       library, or Apple's pre-bound dynamic library.

       Updating Panther

       As of this writing, the latest Perl release that has been

       If you find that you do need to update the system Perl,
       there is one potential issue. If you upgrade using the
       default static libperl, you will find that the dynamic
       libperl supplied by Apple will not be deleted. If both
       libraries are present when an application that links
       against libperl is built, ld will link against the dynamic
       library by default. So, if you need to replace Apple's
       dynamic libperl with a static libperl, you need to be sure
       to delete the older dynamic library after you've installed
       the update.

       Note that this is only an issue when updating from an
       older build of the same Perl version. If you're updating
       from (for example) 5.8.1 to 5.8.2, this issue won't affect
       you.

       Known problems

       If you have installed extra libraries such as GDBM through
       Fink (in other words, you have libraries under /sw/lib),
       or libdlcompat to /usr/local/lib, you may need to be extra
       careful when running Configure to not to confuse Configure
       and Perl about which libraries to use.  Being confused
       will show up for example as "dyld" errors about symbol
       problems, for example during "make test". The safest bet
       is to run Configure as

           Configure ... -Uloclibpth -Dlibpth=/usr/lib

       to make Configure look only into the system libraries.  If
       you have some extra library directories that you really
       want to use (such as newer Berkeley DB libraries in pre-
       Panther systems), add those to the libpth:

           Configure ... -Uloclibpth -Dlibpth='/usr/lib /opt/lib'

       The default of building Perl statically may cause problems
       with complex applications like Tk: in that case consider
       building shared Perl

           Configure ... -Duseshrplib

       but remember that there's a startup cost to pay in that
       case (see above "libperl and Prebinding").

       MacPerl

       Quite a bit has been written about MacPerl, the Perl dis­
       tribution for "Classic MacOS" - that is, versions 9 and
       earlier of MacOS. Because it runs in environment that's
       very different from that of UNIX, many things are done
       Carbon

       MacPerl ships with a number of modules that are used to
       access the classic MacOS toolbox. Many of these modules
       have been updated to use Mac OS X's newer "Carbon" tool­
       box, and are available from CPAN in the "Mac::Carbon" mod­
       ule.

       Cocoa

       There are two ways to use Cocoa from Perl. Apple's PerlOb­
       jCBridge module, included with Mac OS X, can be used by
       standalone scripts to access Foundation (i.e. non-GUI)
       classes and objects.

       An alternative is CamelBones, a framework that allows
       access to both Foundation and AppKit classes and objects,
       so that full GUI applications can be built in Perl. Camel­
       Bones can be found on SourceForge, at <http://www.source­
       forge.net/projects/camelbones/>.


Starting From Scratch

       Unfortunately it is not that difficult somehow manage to
       break one's Mac OS X Perl rather severely.  If all else
       fails and you want to really, REALLY, start from scratch
       and remove even your Apple Perl installation (which has
       become corrupted somehow), the following instructions
       should do it.  Please think twice before following these
       instructions: they are much like conducting brain surgery
       to yourself.  Without anesthesia.  We will not come to fix
       your system if you do this.

       First, get rid of the libperl.dylib:

           # cd /System/Library/Perl/darwin/CORE
           # rm libperl.dylib

       Then delete every .bundle file found anywhere in the fold­
       ers:

           /System/Library/Perl
           /Library/Perl

       You can find them for example by

           # find /System/Library/Perl /Library/Perl -name '*.bundle' -print

       After this you can either copy Perl from your operating
       system CDs (you will need at least the /Sys­
       tem/Library/Perl and /usr/bin/perl), or rebuild Perl from
       the source code with "Configure -Dprefix=/usr -Duser­
       shrplib" NOTE: the "-Dprefix=/usr" to replace the system
  

More information about the site can be found in the FAQ


Login
Nickname

Password

Security Code
Security Code
Type Security Code


Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name.

Help if you can!


Amazon Wish List

Did You Know?
The Linux Tutorial can use your help.


Friends



Tell a Friend About Us

Bookmark and Share



Web site powered by PHP-Nuke

Is this information useful? At the very least you can help by spreading the word to your favorite newsgroups, mailing lists and forums.
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters. Articles are the property of their respective owners. Unless otherwise stated in the body of the article, article content (C) 1994-2013 by James Mohr. All rights reserved. The stylized page/paper, as well as the terms "The Linux Tutorial", "The Linux Server Tutorial", "The Linux Knowledge Base and Tutorial" and "The place where you learn Linux" are service marks of James Mohr. All rights reserved.
The Linux Knowledge Base and Tutorial may contain links to sites on the Internet, which are owned and operated by third parties. The Linux Tutorial is not responsible for the content of any such third-party site. By viewing/utilizing this web site, you have agreed to our disclaimer, terms of use and privacy policy. Use of automated download software ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and are therefore expressly prohibited. For more details on this, take a look here

PHP-Nuke Copyright © 2004 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.06 Seconds