[Chicago-talk] Fwd: ANN: CamelBones 1.0.0rc1

Jim Thomason jim at jimandkoka.com
Thu Jun 1 15:27:36 PDT 2006

I'm forwarding this on to the list here from the cocoa-dev list. I
know that the cocoa specific jargon in the notes is useless to pure
perl folks, but trust me - it's pretty cool. That shared perl instance
and KVC access looks pretty damn nice.

If you haven't looked at camelbones before and have a macintosh, I
highly recommend it. I think you can even still dig up my talk from
long long ago on the chicago.pm website.


---------- Forwarded message ----------
From: Sherm Pendley <sherm at dot-app.org>
Date: Jun 1, 2006 2:13 PM
Subject: ANN: CamelBones 1.0.0rc1
To: Apple CocoaList <cocoa-dev at lists.apple.com>

The first Release Candidate of CamelBones has escaped confinement, and
can be found here:


What is CamelBones?

CamelBones is a Cocoa/Perl bridge. It allows access to the Mac OS X
framework from Perl, and access to an embedded Perl interpreter from
Objective-C. Read more about it at:


CamelBones 1.0RC1 Release Notes

Easier access to Perl for embedding by simplifying the over-complicated
initialization steps.

     #import <CamelBones/CamelBones.h>

     CBPerl *perl = [CBPerl sharedPerl];
     [perl eval:@"print 'Hello, world';"];

Implemented KVC access to Perl's package variables by way of the shared
CBPerl instance.

     NSDictionary *env = [[CBPerl sharedPerl] valueForKey:@"%ENV"];
     id version = [[CBPerl sharedPerl] valueForKey:@"$CGI::VERSION"];

Deprecated most non-KVC access to package variables. Deprecated
still work, but emit a warning.

Added a copy of the framework with an install_path rooted at
On Tiger or newer this framework can be embedded into frameworks and
plugins. This allows, among other things, screen savers, safari plugins,
preference panes, and spotlight importers to be written in Perl.

Former "Fat Camel" release is now the default - dozens of CPAN
modules are
included in the form of pre-compiled binary "kits". Built for Panther &
Tiger (Universal), these modules can be unzipped into any convenient
for local use, or bundled into your CamelBones .app bundle for hassle-
distribution with your app.

I've registered the internet domain camelbones.org, and switched over to
using identifiers that reflect that, beginning with org.camelbones.*.

Some debugging information can now be triggered by setting these user
defaults keys:

         If this is a true value, causes a warning when messages are
         received for which no corresponding method has been defined.

         If this is a true value, causes warnings when unknown argument
         and/or return types are found in method signatures.

Known Bugs & Limitations:

Methods with float or double return types are not supported on Intel.
calling requirements for these methods are different on Intel than on
Macs, and I have no Intel Mac with which to test and/or debug a


Cocoa programming in Perl: http://camelbones.sourceforge.net
Hire me! My resume: http://www.dot-app.org

Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (Cocoa-dev at lists.apple.com)
Help/Unsubscribe/Update your Subscription:

This email sent to jim at jimandkoka.com

More information about the Chicago-talk mailing list