Re: need a Little help please
Hi Noah, I am not able to get CPAN to reload an index. I cant seem to figure out why I cant reload the CPAN index? Even after updating the CPAN URL list - I am still unable to fetch things from servers. The output you showed (in all its glory!) might result from not having FTP_PASSIVE set to 1 in your environment. If you're using bash try export FTP_PASSIVE=1 and then going through cpan again. If you're using tcsh then setenv FTP_PASSIVE 1 and crank up cpan. Failing that it might be worth trying to install LWP by hand (it has a few prerequisites that would also need to be installed manually, but it's not too bad). Good luck, Paul
Re: Code Examples for NewAlias
Laurence Haynes wrote: I'm trying to understand how to use the Mac::Files NewAlias function. I have not found any code examples and I'm struggling. The NewAlias function creates a filehandle. How do I create an alias file from the alias filehandle? I'm not surprised: Chris Nandor provided a nicely detailed run through of this process some time back (Feb 2003, it seems). It is, let's say, pretty grotty, with more emphasis on the grotty than on the pretty! Have a look at http://use.perl.org/~pudge/journal/10437 Just for fun I tried it out locally, and unfortunately it seems to lack a certain something on my 10.4 machine: that being the alias bit, which isn't set on the newly created file. Flicking that on (using, say, Path Finder) shows that the file does have the right pointer to the original file, and the creator and type are being set correctly, but isn't recognised/represented as an alias in the Finder. Anyway, I hope this helps gets you pointed in a direction not entirely opposite to where you need to be! Cheers, Paul
Re: perltidy and -w flag
Jay Savage wrote: I can't for the life of me figure how to get it to stop putting the '-w' flag on the shebang line. It also seems to occasionally eat my 'use warnings;' when it does it. I've just tried to replicate this in TextMate (selecting Tidy via the Perl bundle with a use warnings; line and no -w flag. A naked called to Tidy --that is, I have no .perltidy file-- didn't change anything except the indentation of some loops; do you still get the overriding of warnings if you move your .perltidy aside? Just for the record I have... % perltidy --v This is perltidy, v20060719 [...copyright stuff] Regards, Paul
Re: Perl Module Installation
Michael Barto wrote: If you have downloaded the module instead of using CPAN, look at the file INSTALL in the module. If should tell you what to do: #./configuration #make #make check = VERY IMPORTANT!! #make install Hmm, doesn't look very typical!! Most perl modules don't have an INSTALL file, ./configuration will produce an error as there's no such file in the directory (you mean ./configure I think, but it will also give an error as it's not appropriate for a perl module), and you probably shouldn't be running the first three of those things as root... Mo, just in case you either (a) can't get the cpan script to run (it's sometimes a little finicky to set up behind a proxy server, for example), or (b) wish to do things by hand, here's the standard sequence to go through in order to install DBI. If you have downloaded DBI-1.52.tar.gz then move it somewhere convenient (eg, a directory called src in your home directory; make this directory if necessary). Then % cd ~/src % tar zxf DBI-1.52.tar.gz % cd DBI-1.52 % perl Makefile.PL [[ At this stage you might get warnings about missing prerequisite modules; in that case you will have to install them beforehand using the same procedure described here. This can cause quite a bit of cascading backwards if the module you're installing has a lot of dependencies: getting stuck in such an installation cycle will make you appreciate cpan (the script, not the repository). ]] % make % make test [[ Then if the tests all pass...]] % sudo make install The last of these will ask for your password (I'm assuming you're an admin user). The module will automatically be installed in the appropriate place on your machine. No need to manually copy anything anywhere. Best of luck, Paul
Re: Math::GMP and Net::SSH::Perl
Hi Michael, I think the problem here is that Math::GMP doesn't look in /usr/local/ lib to find the libgmp* libraries, so you need to give it a helping hand. Just modifying the Makefile.PL file so that instead of 'LIBS' = ['-lgmp'], # e.g., '-lm' you have 'LIBS' = ['-L/usr/local/lib -lgmp'], # e.g., '-lm' should do the trick. Cheers, Paul
Re: Mac Perl bug?
Hi again, Ugh: please ignore my previous example, which split on the empty string by mistake (it's even evident in the script you quoted). Thwack... Let me try and pull this together: splitting on a string containing a single space is special in a do what you probably mean way: it's not the same as splitting on \s+, in that the former discards leading and trailing horizontal white space (ie, spaces or tabs). So if we have #!/usr/bin/perl use warnings; use strict; my $string = \t12\t 3\t\t4\t; print join(**, split( ,$string)),the end; print \n; print join(**,split(/\s+/,$string)),the end; Produces the following output: 1**2**3**4the end **1**2**3**4the end In general: when using any regexp as the first argument the split function acts very much by the book. Cheers, Paul
Re: Mac Perl bug?
Ende asked... Why? $a = 1 2 3; 1 2 3 split / /, $a; [1, , 2, 3] split , $a; [1, 2, 3] Using a single space as the string on which to split triggers a special case: from perldoc -f split specifying a PATTERN of space (' ') will split on white space just as split with no arguments does. Cheers, Paul
Re: convert string to number?
Hi Adam, sounds like the symptoms you'd get if the value you're sending to R has a newline character hanging on the end. Perl will do the conversion to an integer when required [1], but if you're passing such a thing to R it'll probably get grumpy. Just chomp the line before doing the extraction of the values and with any luck all will be well. [1] For example... #!/usr/bin/perl use warnings; use strict; my $string=98\n; my $sub=$string-10; print OK we now have $sub\n; = OK we now have 88 Cheers, Paul
Re: Mac-Carbon-0.76
Hi Chris, Thanks for all the input, I got a lot of small bugs fixed, in tests and docs mostly, and a small one in code. No major code changes, no Intel-specific code changes. Smooth as silk here, both with and without MAC_CARBON_GUI set. Cheers, Paul
Re: Mac::Carbon for Intel ... Done?
Hi again, Yes, AppleEvents/t/event and AppleEvents/t/desc were both failing with the same error message: === AppleEvents/t/eventNOK 2# Failed test 'require '$Bin/ helper.pl';' # in AppleEvents/t/event.t at line 11. # Tried to require ''$Bin/helper.pl''. [...]. AppleEvents/t/desc.NOK 2# Failed test 'require '$Bin/ helper.pl';' # in AppleEvents/t/desc.t at line 11. # Tried to require ''$Bin/helper.pl''. === Second, do you have the file AppleEvents/t/helper.pl? Yep, present and correct. Finally, you can hardcode the path to helper.pl in desc.t and event.t and run the tests again. OK: after a bit of head-scratching and a few failed attempts to do this I scrounged together the following modification to the BEGIN block for both desc.t and event.t: BEGIN { use_ok('Mac::AppleEvents'); # require_ok('$Bin/helper.pl'); push @INC,/Users/pmccann/Desktop/downloaded/Mac-Carbon-0.75/ AppleEvents/t; require_ok(helper.pl); } With that in place we get success: % make test PERL_DL_NONLAZY=1 /usr/bin/perl -MExtUtils::Command::MM -e test_harness(0, 'blib/lib', 'blib/arch') t/*.t */t/*.t AppleEvents/t/desc.ok AppleEvents/t/eventok Components/t/Componentsok Files/t/Alias..ok 1/17 skipped: This fails on both UFS and Intel ... so just stop caring. It's deprecated. Files/t/Constants..ok Files/t/Files..ok Files/t/Info...ok Gestalt/t/Gestalt..ok MacPerl/t/MacPerl..ok 3/13 skipped: Set MAC_CARBON_GUI in env to run tests Memory/t/Memoryok MoreFiles/t/MoreFiles..ok Notification/t/Notificationok 11/11 skipped: Set MAC_CARBON_GUI in env to run tests Processes/t/Processes..ok 2/6 skipped: No parent available Resources/t/Resources..ok Sound/t/Sound..ok Speech/t/Speechok t/Carbon...ok Types/t/Types..ok All tests successful, 17 subtests skipped. Files=18, Tests=2958, 33 wallclock secs ( 2.08 cusr + 0.81 csys = 2.89 CPU) Cheers, Paul
Re: Mac::Carbon for Intel ... Done?
Hi Chris, Go play with it, if you have an Intel Mac. Let me know if you find anything wrong, and let me know soon, since I have less than a week left with this Intel Mac. The module (Mac-Carbon-0.75) was fine through make on my intel Mac (modulo all the deprecated warnings of course, which I imagine should be ignored). However make test failed with the following problem: AppleEvents/t/desc.NOK 2# Failed test 'require '$Bin/ helper.pl';' # in AppleEvents/t/desc.t at line 11. # Tried to require ''$Bin/helper.pl''. # Error: Can't locate $Bin/helper.pl in @INC (@INC contains: / Users/pmccann/Desktop/downloaded/Mac-Carbon-0.75/blib/lib /Users/ pmccann/Desktop/downloaded/Mac-Carbon-0.75/blib/arch /System/Library/ Perl/5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6/ darwin-thread-multi-2level /System/Library/Perl/5.8.6 /Library/Perl/ 5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6/darwin-thread- multi-2level /Library/Perl/5.8.6 /Library/Perl/5.8.6/darwin-thread- multi-2level /Library/Perl/5.8.6 /Library/Perl /Network/Library/Perl/ 5.8.6/darwin-thread-multi-2level /Network/Library/Perl/5.8.6 /Network/ Library/Perl /System/Library/Perl/Extras/5.8.6/darwin-thread- multi-2level /System/Library/Perl/Extras/5.8.6/darwin-thread- multi-2level /System/Library/Perl/Extras/5.8.6 /Library/Perl/5.8.1 . / System/Library/Perl/5.8.6/darwin-thread-multi-2level /System/Library/ Perl/5.8.6 /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/ Perl/5.8.6 /Library/Perl /Network/Library/Perl/5.8.6/darwin-thread- multi-2level /Network/Library/Perl/5.8.6 /Network/Library/Perl / System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level /System/ Library/Perl/Extras/5.8.6 /Library/Perl/5.8.1 .) at (eval 6) line 2. Cheers, Paul
Re: Control-D Bug?
Jonathan Levi wrote: #!/usr/bin/env perl # [comments omitted] print reverse ; drj2:learningperl4 jonathan$ p052e1.pl 1 2 3 3D 2 1 I'm pretty sure that you're just seeing an artefact of executing in the terminal (ie it's a display problem, rather than a problem with the output). If you try to catch the output instead, via p052e1.pl output.txt and then less output.txt you should notice that the ^D terminated input gives the same result as when you point at a file for the input. Cheers, Paul
Re: backup strategy questions
Hi Joe, I've used the Disk Utility and created a copy that boots. Thank you it was fun. I haven't done the cron thing yet or the psync over it. One question, it appears like everything on the restore copy is exactly the same, however the total file size and the total number of files is off by about 1%. Maybe Disk Utility is smart enough not to copy items in the Trash Can or maybe there is something else going on? Good question: I've had a bit of a trawl through my different copies and it does seem that there are some portions of the system that Disk Utility doesn't copy. For example, the swap files and associated guff (in /private/var/vm). That accounted for about a gig of the size difference on my machine. There's also some other contents of the / private/var/tmp that seems to escape copying, though I haven't looked closely enough to sort out what's taken and what's left. Similarly, it looks like the some of the caches (/System/Library/ Caches) might also escape the copying. I tried hunting down a page detailing the process, which is really asr (ie, Apple Software Restore, see man asr), but didn't have a lot of luck. Cheers, Paul
Re: backup strategy questions
Hi Joe, ... I wrote a little program that creates a new directory each time (ie, 2005-08-09) and does a full backup using psync to the directory. My question: In the event of a hard disk failure, will I be able to boot from a full copy in a directory? How would I be able to recover? Probably not, but it's not too hard to make bootable copies. Just partition your backup drive so that you have a partition for each backup copy that you'd like to keep (I tend to roll three, so that at any time I have the last 2-3 days of live backups). Then use the Disk Utility to clone a copy of your live system onto as many copies as you wish to keep. It takes about 30 minutes to clone mine, but it's obviously pretty sensitive to the size of your live system. This process will produce bootable copies, but you probably don't want to be doing this all the time. My strategy is to get psync to synchronise each of the backups in turn, instituted via a cron job. Anyway, in more detail: (1) Make some appropriately sized partitions, so that each will be capable of taking a full copy of your live system. Allow some room for expansion. Disk Utility makes this easy. (2) For each partition: firstly erase the existing contents (takes about 5 seconds in Disk Utility), in the Erase tab. I think you can also click a button in the Restore tab (see below), but I've never gone that route. In any case, erasing any existing stuff is crucial to success. (3) Go to the restore tab and drag your live system into the Source text field and your first clean partition into the second (destination) source field. Click restore, enter admin password, and wait! Repeat as you will. You might like to test the bootability at this point: I've not had a problem with this technique. That done you can just set psync to consecutively roll through synchronising with the backups in turn. The entries in the crontab (/ etc/crontab) should be something like # minutehourmdaymonth wdaywho command 15 4 * * 3,5 root/usr/local/bin/psync - q -d / /Volumes/backup2 /Users/pmccann/psync_output_2 21 15 4 * * 2,4,6 root/usr/local/bin/ psync -q -d / /Volumes/backup3 /Users/pmccann/psync_output_3 21 Obviously that's for a rolling pair of backups on the imaginatively named /Volumes/backup2 and /Volumes/backup3. Iterate as necessary and adjust the wday fields. The files psync_output_2 etc will contain anything to STDOUT or STDERR from the process. In practice I just check that things have run OK by tailing those files and/or checking their modification date. Anyway, the upshot of this is that the backups always maintain their bootability. I've even --inadvertantly-- bumped the system version of the backups (10.3 = 10.4) using this synchonization technique; didn't cause any difficulties, and bootability remains. Best wishes, Paul
Re: psync backup problems: suggestions?
Joe asked, As an aside, does anyone know how to turn spotlight off of a volume? It immediately starts creating an index and it is causing my comnputer to run hot and make everything else run slow. System Preferences = Spotlight = Privacy Just drag in what you don't want indexed. Cheers, Paul
Re: HTML::Tidy Filter for BBEdit?
Hi John, you wrote... my question is, how can I create the same sort of script which will use HTML::Tidy? Both the module and the library are installed and running OK on my Mac, but I can't seem to get it to work, in fact I can't even figure out from the documentation how to get any output from it at all! I think HTML::Tidy doesn't offer what you're seeking: looks like it's a validation tool, not a pretty-print tool. So your output is empty if things are well in the world of your html, and warnings/errors if there are problems validating the string HTML::Tidy is fed. The following works as a filter in BBEdit, but (as above) I don't think it'll do what you're seeking! Do the items in the Markup-Tidy submenu do what you're seeking? I'm pretty sure they hook into a copy of HTML Tidy that's embedded in BBEdit. Cheers, Paul -- #!/usr/local/bin/perl -w use strict; use HTML::Tidy; local $/; my $input=; my $dummyfilename='input'; my $tidy = new HTML::Tidy; $tidy-parse($dummyfilename, $input ); for my $message ( $tidy-messages ) { print $message-as_string; } --
Re: A Net::Config problem
Hi Vic, you wrote... I've got a .libnetrc file in my home directory. It reads { 'nntp_hosts' = [ news.dacor.net ], 'smtp_hosts' = [ mail.dacor.net ], 'pop3_hosts' = [ mail.dacor.net, mailstore.bgsu.edu ], } I've thrown that file into my home directory as .libnetrc, and then try to use it with Net::Config via -- #!/usr/bin/perl use strict; use Net::Config qw(%NetConfig); use Data::Dumper::Simple; warn Dumper(%NetConfig); -- And out she comes... %NetConfig = ( 'pop3_hosts' = [ 'mail.dacor.net', 'mailstore.bgsu.edu' ], 'ftp_firewall' = undef, 'ph_hosts' = [], 'time_hosts' = [], 'inet_domain' = undef, 'smtp_hosts' = [ 'mail.dacor.net' ], 'daytime_hosts' = [], 'test_exist' = 1, 'test_hosts' = 1, 'nntp_hosts' = [ 'news.dacor.net' ], 'snpp_hosts' = [], 'ftp_ext_passive' = 0, 'ftp_int_passive' = 0 ); I don't know if this is more help than hindrance, but at least it's another data point! Cheers, Paul
Re: installing scripts using expat/libxml on 10.1.5
Hi Richard, you asked... I'm about to write a number of fairly simple perl scripts. They'll be reading xml files. Unfortunately they've got to be installed on a client machine that uses 10.1.5, owned by a fairly untechnical user. I've always had control of the environment before, and I've no experience with making installation nice and easy. I'm fairly sure developer tools won't be installed on the client machine. I don't need much of a gui interface, so I'm planning on a drop-script front end. What's worrying me is getting the modules and parser installed. How can I find out what is installed on the client machine by way of xml parsers? Did 10.1.5 come with expat or libxml? If so, how can I make installing XML::LibXML or XML::Twig easy? I might be able to make a 10.1.5 environment temporarily to test this out - will this make my life a lot easier? Ouch: I don't think either expat or libxml2 will be present on the raw system. And compiling libxml2 for 10.1.x was, let's say, interesting. You can get old binaries (via dmg's) of libxml2 and libxslt for 10.1.2 that should work fine in 10.1.5 from http://www.xmlperl.com/modules.php?op=modloadname=Downloadsfile=indexreq=viewdownloadcid=1 Note however that these are pretty old versions: 2.4.15 and 1.0.12. But that still leaves the difficulty of getting XML::LibXML or some of the expat dependent modules to install. And that's almost certainly going to require a 10.1.x machine with dev tools, and maybe an older version of the modules. (Probably depends which route you take: libxml2 or libxslt.) I think you will want to make a 10.1.5 machine to do this. Doubtless you've thought along the lines: wouldn't it just be easier to upgrade the client to 10.2 or 10.3? Anyway, I'm rambling: if you set up your 10.1.5 machine it's probably worth trying to compile libxml2 and/or expat directly from source so as to get recent versions. Even then you'll probably end up having to dump your constructed perl directory onto the client machine, which is a little gross. Otherwise you might try the above binaries. Best of luck! Paul
Re: [OT?] Shebang question
Hi ~wren, you wrote... Sorry if this is off-topic, but I seem to recall sometime fairly recently (less than a year, more than a few weeks) someone mentioned a way to autofind the path to perl on the shebang line so you don't need to hardcode the path. I can't seem to find the post in the archives. Does any one remember the method or what thread it might have been mentioned in? That would probably have been the use of the env utility: instead of #!/usr/bin/perl or similar you make the first line of your scripts read #!/usr/bin/env perl and it'll find the first perl in your environment. See http://www.informit.com/articles/article.asp?p=29328seqNum=3 for some more info. Cheers, Paul
Re: Preview.app opening multiple files
On Mon, 29 Mar 2004, Chris Devers wrote: Unfortunately, I get the same error you do when I try to run it: $ ./osatest.sh ## Component Manager: attempting to find symbols in a component alias of type (regR/carP/x!bt) This is some sort of issue with Toast; googling for the string gives --eek, an answer that I posted on macosxhints in late 02-- -- If I remember rightly this is caused by a Toast titanium file that's put in the quicktime folder... hmm, here we go... Go into /Library/QuickTime and move 'Toast Video CD Support.qtx' somewhere else (err, maybe the Trash!!). -- syntax error: A unknown token can't go after this some object. (-2740) $ In other words, syntax error: The second bit of the error is because path to charts folder isn't defined. Something like path to desktop works fine, but even then the files open separately. Indeed, with Preview on 10.3.3 I can't replicate the many to one behaviour that Joseph is seeking, even from the Finder. Selecting several files then double clicking on one produces multiple windows -- one for each file -- for me. Am I being slow again, or is this maybe some panter/jaguar change? Cheers, Paul
Re: Preview.app opening multiple files
Hi Joseph, you wrote... It's easy to replicate from the Finder. You highlight the files and double click holding shift down. Also, you can highlight, then control click getting the menu and then select open. Thanks for the explanation, but my machine seems to be on a rather strict one window for one file kick at the moment. No matter what I try, including both of the above invocations. (10.3.3 here). Anyone else using 10.3.3 able to do the many to one trick in Preview? So I can't test whether any of the applescript solutions match the Finder behaviour (ie, they *all* do for me!). Cheers, Paul
Re: Preview.app opening multiple files
Ned Day asked, how on earth do i unsubscribe from this? Try reading the mail headers of any message to the list: List-Unsubscribe: mailto:[EMAIL PROTECTED] Cheers, Paul
Re: xterm color support
Hi Gohaku, you wrote... I have a question about the following script: use Term::ANSIColor; print color(red on_white), Danger, Will Robinson!\n; print color(red on_white), Danger, Will Robinson!\n; print color(red on_white), Danger, Will Robinson!\n; print color(reset); Has anybody experienced the same problem or is there a problem with my script? Your script works fine here (10.3.2, using the Term::ANSIColor that came with the standard Perl installation (1.07), and with my TERM set to xterm-color). Of course the standard not very white white background is present, but that's OK: I can see it's *trying* to be white, and just feeling a little bit off-colour... Cheers, Paul
Re: /tmp v. /tmp/501/TemporaryItems
Hi John, you wrote... Can someone please tell me if there's any reason not to write files in /private/tmp rather than in /tmp/501/TemporaryItems ? drwxrwxrwt 29 root wheel 986 18 Jan 21:49 tmp drwxr-xr-x 13 jdwheel 442 18 Jan 21:30 TemporaryItems So far as jd and admin there's never been a problem, but would there be a problem if I were a user with fewer privileges? The big difference between the two locations seems to be that anyone can read the files you drop into /tmp, while the files in /tmp/501 are protected from prying eyes. You can of course change the permissions on files that you make in /tmp so as to shield the contents (or change your umask), but you have the additional problem of not being able to overwrite a temp file owned by someone else. See File::Temp (standard module) for a nice, safe interface to the whole temporary file business. With regards to writing there's no problem: as per the permissions above, anyone can drop a file into the /tmp directory, but only the owner (or an admin using sudo or suchlike) can delete it. Cheers, Paul
Re: Newcomer with a few questions
John wrote... The trouble is that it takes an age for the libraries to be loaded, the events to be compiled and for the dialog to appear: #!/usr/bin/perl use MacPerl; $phone = MacPerl::Ask(Enter your phone number:); Hmm, must depend crucially on the machine: on this dual 1G thing I'm driving at the moment it's about half a second from pressing return until the dialog's staring me in the face: perl -e 'use Macperl;$phone = MacPerl::Ask(Enter your phone number:); ' Pretty much the same as Pashua, for example (or applescript dialogs, for another). In other words: your mileage may vary... Cheers, Paul
Re: Perl version of GetFileInfo?
Hi Conrad, you wrote... I jumped too soon. I tested the MacOSX::File install under Panther and it failed with these errors: I tried using gcc 2.95 instead of 3.3 and got further but still errored... I don't have time right now to try and debug it but maybe later. If you check the archives of this list the errors are acknowledged and a patch has been supplied. Check the information for Panther users on Dan Kogai's page: http://www.dan.co.jp/cases/macosx/psync.html Cheers, Paul
Re: Problems installing libwww-perl-5.69 on OSX
Hi Mike, you wrote... I'm trying to install libwww-perl-5.69 on my OSX machine to run under Perl 5.8.0. Try using 5.72 (which is on CPAN now). I installed it this morning and all tests passed without problem. (This is with perl 5.8.1, but I'd bet you'll get similar results with 5.8.0.) Cheers, Paul
Re: psync Warnings
Hi David, you wrote... While running a psync backup, I get lots of warnings such as these: [[warnings deleted]] Should I worry about these? The command I'm running is While I don't recognise all the warnings that you showed at least some of them can be removed by replacing Dan's psync script with a modified version available via versiontracker. More precisely, it's obtainable from http://home.pacbell.net/jacek_s/psync-0.65.5.sit I've been using this version for a few weeks now and it's eliminated a heap of warnings that used to accompany the circumstances listed below. Just throw the psync in the expanded sit directory into /usr/local/bin in place of the original psync. Note the last line below: he's carefully commented the changes. Here's some info from the README file that accompanies Jacek's revised version: -- Fixed bugs: 1. If a file in source was replaced by a folder the script barfed and did not backup that folder 2. If a folder in source was replaced by a file the script produced an error and did not remove old folder nor backup the file that replaced it. 3. If a folder was removed in source and corresponding folder in destination contained any of the IgnoreFiles (.DS_Store is almost always there), the ignore file was not deleted, folder was not empty and could not be deleted either. After a while there were a lot of empty folders in the destination. 4. If a file to be deleted in destination was a link with no target, it would not be deleted (-e $dfile condition would fail). Any enclosing folders would not be deleted either. 5. Dead links could not be deleted or replaced with folders 6. Locked files in destination could not be deleted (when removed from source) nor replaced (when changed in source). Fully implemented -a option (it was already used but only in one place). It is a full preview of what would happen if the backup was performed, but without doing anything - -n option only lists total number of files that would be deleted or copied, but it does not say which files. Prettified number of files to delete/copy/ignore (removed empty lines) Added to $IgnorePat (so it is skipped): .*/Library/Caches/.* .*/Library/Safari/Icons/.* .*/System/Library/Extensions.kextcache .*/private/var/db/NetworkInterfaces.xml .*/private/var/vm/swapfile* .*/private/var/db/BootCache.playlist .*/private/var/db/volinfo.database .*/private/var/db/SystemConfiguration/com.apple.PowerManagement.xml You can find all my changes by searching for ###js. -- Cheers, Paul
Re: File write/read problem
Hi Mark, you wrote... Permission denied at /Library/WebServer/CGI-Executables/write.cgi All the permissions for each of these directories are 755. Something is a miss. So what can I do?! I'm very confused. There's your problem. 755 will not allow the www user (or whatever you've set apache to run as) to write into that directory. The permission for all is read and execute, *not* write. Hence permission denied. Try getting it to write to some junk directory on which you've set permissions to be 777 (say). Success will come! Cheers, Paul
Re: installing expat
Hi Chad, you wrote... http://sourceforge.net/projects/expat/ Unfortunately, I don't seem to be able to figure out how to install expat. I downloaded it from ftp://ftp.jclark.com/pub/xml , where it includes a makefile. However, my degree in music composition didn't involve much compiling and installation of c libraries, and after much searching I haven't come across any installation instructions for expat - just lots of examples for using it in C. I think the versions on James Clark's site are *long* abandoned: the modification dates are all 2000 or before. Grab version 1.95.6 from sourceforge: you should end up with a file expat-1.95.6.tar.gz Move this into any directory you like (won't affect the outcome); open a terminal window, move to the directory containing expat-1.95.6.tar.gz and enter the following commands: tar zxf expat-1.95.6.tar.gz cd expath-1.95.6 ./configure make sudo make install You'll have to enter your password after the last command. There will probably be loads of warnings as the make command progresses: I think they're ignorable (well: the build completes without major problem in any case). Give things a go after that. Best of luck, Paul
Re: Panther, Perl 5.8.*, threads, etc.
Sounds like you might be heading in the POE direction: http://poe.perl.org/ Worth a look if you haven't already considered this option. Cheers, Paul
Re: copy files with everything?
Hi Berndt, you wrote... simple question, how can I copy file type, creator and icon along with a file. #!/usr/bin/perl use File::Copy; copy(/private/var/root/Desktop/xxx/test1.doc, /private/var/root/Desktop/yyy/test2.doc); copies just the file, but the resulting test2.doc has lost the icon, file type and creator. I think there must be a way, which I simply dont now. If you haven't already done so, get MacOSX::File from CPAN (http://search.cpan.org/author/DANKOGAI/MacOSX-File-0.65/) and install it on your machine. From perldoc MacOSX::File::Copy we have... DESCRIPTION MacOSX::File::Copy provides copy() and move() as in File::Copy. Unlike File::Copy (that also comes with MacOS X), MacOSX::File::Copy preserves resouce fork and Finder attirbutes. Consider this as a perl version of CpMac and MvMac which comes with MacOS X developer kit. Having installed the module you can use something like the following: #!/usr/bin/perl -w use strict; use MacOSX::File::Copy; my $srcpath='/Users/pmccann/junk/longlines.lis'; my $dstpath='/Users/pmccann/junk/morelonglines.lis'; copy($srcpath, $dstpath) or die No luck: $!; Cheers, Paul
Re: [OT] More Terminal/Finder cooperation
On Wed, Feb 26, 2003 at 10:46:05AM -0600, Ken Williams wrote: Awesome - I'm now adding a little perl script around it to get the absolute path and to activate the Finder: Nice script: I think you can probably save some execution time by incorporating both finder calls in the same osascript call: try something like the following (which I've called psel on my machine, as select has already been grabbed by zsh). I like the heredoc quoting of applescripts as it pretty much allows drag and drop to/from the applescript editor. Cheers, Paul -- #!/usr/bin/perl my $file = shift or die No file specified; use File::Spec; $file = File::Spec-rel2abs($file) if !File::Spec-file_name_is_absolute($file); system(qq{osascript END tell application Finder reveal $file as POSIX file as alias activate end tell END });
Re: hi and axpoint
Marco Baroni wrote: However... Most of the rest of the dependencies are pretty much sorted these days: at least once you've got libxml2 and libxslt and have their perl wrappers installed (watch the version of XML::LibXML, as per earlier messages. It broke some time soon after 1.51 for Mac OS X). I haven't consciously done these things -- will I regret it soon? My apologies: I should have checked up exactly what AxPoint depends on. Those comments belong in another thread (in another universe). I'd been installing all the XML modules together, and have somehow managed to mash together a couple of disparate modules. So... having just checked again, AxPoint *doesn't* require the XML::Lib* modules, but only PDFLib and some stuff from the XML::SAX namespace, so the comments of mine quoted above are irrelevant. Good to hear that things are working; have no regrets! Regards, Paul
Re: hi and axpoint
Hi Marco, In particular, I followed the suggestions regarding the Makefile of Text::Iconv that I found in the message http://archive.develooper.com/[EMAIL PROTECTED]/msg04392.html, but that didn't help (it didn't even help wrt to Text::Iconv, which still cannot find the libiconv, despite the fact that I did get it via fink, and that I do keep the fink stuff in /sw...) So, I was wondering if somebody did a succesful axpoint install, and, in that case, what was the procedure (I have perl5.8.0 on Jaguar...) Much to my own amazement I'd actually recorded the changes I made to install Text::Iconv. These are the two lines in the Makefile.PL that should allow it to find Fink's libiconv: 'LIBS' = ['-L/sw/lib -liconv'], # e.g., '-lm' 'INC' = '-I/sw/include', # e.g., '-I/usr/include/other' The #e.g., '-lm' hint in the file might not have been all that helpful in this case! Most of the rest of the dependencies are pretty much sorted these days: at least once you've got libxml2 and libxslt and have their perl wrappers installed (watch the version of XML::LibXML, as per earlier messages. It broke some time soon after 1.51 for Mac OS X). In short, yep, Axpoint is working fine on my 10.2.4 machine. Best of luck, Paul
Re: Announcement: PerlPad 0.1
On Mon, Feb 10, 2003 at 09:51:34AM +0900, Thilo Planz wrote: I have been playing around with Camelbones a little and placed my results on SourceForge: http://perl-pad.sourceforge.net/ I would like some feedback, basically to see if the thing installs on other computers than my own and if someone finds it useful. I downloaded the source dmg, copied it to my home directory, and then opened it up in project builder. It built fine, but stalled when attempting to run the built application because of a missing perl module: Devel::Symdump A quick trip to search.cpan.org revealed the following: http://search.cpan.org/author/ANDK/Devel-Symdump-2.03/ which installed without problem. Post that perl-pad looks like lots of fun, but I can't get the command-shift-E execution to work, even in those applications where it shows up within the services menu (eg BBEdit; seems there's not many apps where command-shift-E is going to survive). Is there an easy way to change the keyboard equivalent of Evaluate as Perl Command? Anyway, I look forward to having a better play with PerlPad down the track. Thanks for making it available, Paul
Re: Announcement: PerlPad 0.1
Thanks for the info Thilo: just in case someone else wants to do the remapping. Find PerlPad, control click and select Show Package Contents. Open up Info.plist file inside the Contents directory (double clicking will probably crank open Property List Editor, which is a pretty good tool for editing this thing). Then navigate through to Root/NSServices/1/NSKeyEquivalent/default and double click the existing E in order to enter your new keyboard shortcut. I chose \ instead of the default E, and all's mostly well. BBEdit had already claimed command-\ as hard wrap but was polite enough to remap it to command-shift-\ while the other applications seem not to have got their grubby little mits on that combination. One weird aspect however: the *first* time you try to use the service in any application via the keyboard equivalent it simply feeds back the alert sound. If I run the service by hand (ie via the menu) it will then run via the keyboard equivalent until you restart the application. I think that this was happening even before I modified anything; this is what made me think that the keyboard equivalents weren't working in some app's: can anyone else confirm this behaviour?? Oh yeah, as per Thilo's message, either logout and login again or paste the following into the PerlPad application itself and click Process. AppKit::Functions::NSUpdateDynamicServices(); Then restart some apps to use the modified keystroke in anger. See the help pages in PerlPad for a very nice way to add new services (and register them). 'tis very cute to be able to calculate directly in an iCal appointment on the main calendar display (amongst other places!). Cheers, Paul
Re: dmg of perl 5.8.0 on Mac OS X
On Wed, Feb 05, 2003 at 06:03:32PM -0700, Nathan Torkington wrote: Please download and test the perl 5.8.0 distribution available from: http://nathan.torkington.com/tmp/perl5.8.0gnat1.dmg Done, and much appreciated. (The machine on which I have just installed your dmg was giving all sorts of ridiculous errors when attempting to install from source, so a gentle thwack from an installer is very welcome.) It installs Perl, Berkeley DB 4.1.25, DB_File 1.42 and Time::HiRes 1.42 into /usr/local/perl5-8. You'll need to add /usr/local/perl5-8/bin to your path, probably in your .cshrc. Be warned: it's a 12M download. But also prepare to be surprised at the width of pipe if you're using a swift connection. 15 seconds for the 12MB here :-) Might be worth mentioning here that @INC does not intersect the 5.6.0 Perl that comes with Mac OS X. For the record... % /local/perl5-8/bin/perl -V Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration: [...] Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under darwin Compiled at Feb 5 2003 16:32:49 @INC: /usr/local/perl5-8/Library/Perl/5.8.0/darwin /usr/local/perl5-8/Library/Perl/5.8.0 /usr/local/perl5-8/Library/Perl/5.8.0/darwin /usr/local/perl5-8/Library/Perl/5.8.0 /usr/local/perl5-8/Library/Perl /usr/local/perl5-8/Network/Library/Perl/5.8.0/darwin /usr/local/perl5-8/Network/Library/Perl/5.8.0 /usr/local/perl5-8/Network/Library/Perl . Thanks again, Paul
Re: trouble with DBD::SQLite 0.23
Puneet Kishor wrote: I am able to build SQLite 2.7.6 from source without any problem. But, DBD::SQLite 0.23 (which comes with its own SQLite) croaks. Interestingly, it seems to build and install ok, many tests are passed, then 'make test' (regression testing) fails. Running dbish shows SQLite is not installed (at least, it is not presented as a choice). Any guidance will be appreciated. There's a new version of DBD::SQLite that is supposed to fix this 'orrible behaviour on Mac OS X. While I can't see it via search.cpan.org right now it could be that damn proxy server being recalcitrant! Watch for DBD::SQLite 0.24 (which includes SQLite 2.7.6). Cheers, Paul
Re: trouble with DBD::SQLite 0.23
Hi again, h... if you (I too) can't see it on search.cpan.org, how do you know 0.24 exists? I searched on the minimalist seargent.org, and on Google too... nothing about 0.24. Is there a secret place? ;-) Hmm, not very sEcReT; Matt Sergeant has a use.perl.org journal http://use.perl.org/~Matts/journal/ He happened to mention the new release some time in the last couple of days, and having had the bus error joy with SQLite the info stuck in my brain. on a related note -- I am fairly confused about this CPAN installing thing? most perl packages (such as SQLite.pm, provided it didn't have to build libsqlite.a) are just text files, no? Hence, why do they need to be installed unless install-ing means simply copying them to the correct place. For pure perl modules that's pretty much what's up. You can do it yourself if you *really* want to (that used to be the way with things on Mac OS before Chris Nandor wrote some nice tools to do the easy things automatically). If you really want to know what's being done then have a gander at the Makefile that's produced via a perl Makefile.PL call. And, is the install procedure merely perl Makefile.PL, make, make install... is that all that CPAN really does (provided it doesn't have to follow any dependencies). So, if I have to install something outside of CPAN, do I do perl Makefile.PL, make, make install? All going well that's what CPAN is doing for you: if you watch the procedure you'll notice exactly that sequence being executed, but with the worthwhile twist that it'll postpone installing one module until it's tried to install the prerequisites (and so on). CPAN uses all the standard locations, so installing by hand is perfectly in harmony with the CPAN installation process. It's just significantly more painful if you find dependencies (and then dependencies of dependencies...). In short: yep, perl Makefile.PL ; make ; make test ; make install. Don't forget the make test piece of the puzzle. Habit has me using sudo make install at the last step, but just glancing through the directories suggests that the sudo call shouldn't be necessary on Mac OS X. Cheers, Paul
Re: CamelBones example code?
Rich Morin wrote: FWIW, I managed to get the data source part working, though somebody is making FAR too many calls to numberOfRowsInTableView (:-). My current issue is setting a fixed-width font for the table's data cells. This: $acell = $col-dataCell(); $acell-setFont(NSFont-userFixedPitchOfSize(0)); gives me the nastygram: Class NSFont does not respond to selector userFixedPitchOfSize: Caveat: my knowledge of Cocoa is something of a bad joke. Given that, Cocoa Browser (nice little app; see versiontracker) suggests that the method name is incorrect: userFixedPitchFontOfSize maybe? Best of luck, Paul
Re: PDFLib
On Tue, Dec 03, 2002 at 10:13:48PM +0100, jonasbn wrote: I am currently working on a bingo game in Perl (its a long story). The next step in the development is to be able to produce bingo plates and I have been given some code dependent on PDFLib from a kind soul. I have downloaded the PDFLib tarball from www.pdflib.com, but I cannot seem to find any installation guidelines, and the package looks somewhat weird. have any of you installed these libraries, and can provide me with a link or a brief explanation on how to proceed? Matt Sergeant described how to generate such things in one of his use.perl.org journal entries. That'd require little more than pdflib and his PDFLib.pm module to produce. Maybe that's the code you're heading towards... To install pdflib you should grab the source tarball and simply follow the generic unix installation instructions (ie, ./configure, make, sudo make install). I'm pretty sure it **just worked** under 10.1.x when I installed the libraries onto my machine. Yep, just found a noteworthy piece of shouting amidst my old pdflib compile notes: it goes like this... HOORAY, NO NEED FOR ACROBATICS ANYMORE: PDFLIB 4.02 IS UP AND RUNNING STRAIGHT OUT OF THE BOX!! It sounds like you might have grabbed the binary distribution, which will watermark all the pages it produces until you buy a not-inexpensive license. At the bottom of the download page (http://www.pdflib.com/pdflib/download/index.html) you'll see Unix: pdflib-4.0.3.tar.gz Hopefully that tarball should look a lot more familiar. If you have any problems with that give the list archives the once-over: details are provided at http://www.pdflib.com/pdflib/resources.html Best of luck, Paul
Re: Process table information
Chris Nandor wrote: [EMAIL PROTECTED] (Ken Williams) wrote: Yeah, that looks like exactly what I want. Now if I can just get Mac::Carbon working under 10.1.5! =) Still haven't had any luck with that, it looks like a gcc 2/3 issue to me. Yeah, I dunno. :/ I've not had any opportunity to even test it. What I could try to do is release binaries next time, putting them on SourceForge.net (I won't bother putting them on the CPAN). I think those should work on 10.1.5. Let me know if you want me to try (I am aiming for a 0.02 release of Mac::Carbon in the next 2 weeks). For what it's worth, I had to sudo gcc_select 3 to get Mac::Carbon to compile under 10.2.2. Having changed gcc to 2 in order to get curses.pm to work properly I was head-scratching for a couple of minutes when Mac::Carbon wouldn't compile; then I noticed the 2.95.2 in the output. So I think Ken's on the money here. I guess I could be a *little* more precise here... here's how the dummy is spat when using gcc 2.95.2 Cheers, Paul --- ~/src/Mac-Carbon-0.01 % sudo gcc_select 2 Current default compiler is now gcc2. ~/src/Mac-Carbon-0.01 % perl Makefile.pl Writing Makefile for Mac::Components Writing Makefile for Mac::Files Writing Makefile for Mac::Gestalt Writing Makefile for MacPerl Writing Makefile for Mac::Memory Writing Makefile for Mac::MoreFiles Writing Makefile for Mac::Notification Writing Makefile for Mac::Processes Writing Makefile for Mac::Resources Writing Makefile for Mac::Sound Writing Makefile for Mac::Speech Writing Makefile for Mac::Types Writing Makefile for Mac::Carbon ~/src/Mac-Carbon-0.01 % make cc -c -I/Developer/Headers/FlatCarbon/ -g -pipe -pipe -fno-common -no-cpp-precomp -flat_namespace -DHAS_TELLDIR_PROTOTYPE -fno-strict-aliasing -Os -DVERSION=\1.01\ -DXS_VERSION=\1.01\ -I/System/Library/Perl/darwin/CORE Components.c In file included from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:13, from /System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:5, from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:20, from /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21, from /System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20, from /Developer/Headers/FlatCarbon/Events.h:1, from ../Carbon.h:23, from Components.xs:32: /usr/include/gcc/darwin/2.95.2/g++/../stdbool.h:10: warning: empty declaration In file included from Components.xs:32: .../Carbon.h: In function `GUSIPath2FSp': .../Carbon.h:168: parse error before `path' .../Carbon.h:169: `path' undeclared (first use in this function) .../Carbon.h:169: (Each undeclared identifier is reported only once .../Carbon.h:169: for each function it appears in.) make[1]: *** [Components.o] Error 1 make: *** [subdirs] Error 2
Re: Installation of LWP fails
On Fri, Oct 11, 2002 at 09:55:18AM -0700, David Wheeler wrote: On Friday, October 11, 2002, at 08:36 AM, Phil Dobbin wrote: Is this indicative of the Developer Tools not being installed? I don't know about that, but if the developer tools weren't installed, there'd be no compiler -- and there was definitely a compiler in the error message sent yesterday -- the compiler it what complained that it couldn't find perl.h. As per my message yesterday: I'm pretty sure that what has happened in these cases is that someone has installed the Developer Tools but did not choose to install the BSD SubSystem when installing the OS itself. It's in the mix by default with 10.2, but some people unclick the option on install (and it used to be off by default). Anyway, it's a separate pkg on the install CD's, and should install without a hitch. Cheers, Paul
Re: Perl REs as System Service
On Fri, Oct 11, 2002 at 09:43:27AM -0400, Alexandre Enkerli wrote: Did anyone try building a System Service (in the Services submenu) to apply Perl regular expressions on selected text? Kevin van Vechten has a Perl Service for Mac OS X that works fine with Jaguar (unlike his SSHAgentServices unfortunately). http://www-inst.eecs.berkeley.edu/~kevinvv/PerlService.html This might do what you're seeking. If not, it works great as a cheap calculator! Cheers, Paul
Re: XML::LibXML on Mac OS X 10.1.1
I'm trying to build XML::LibXML and XML::LibXSLT on OS X 10.1.1 and I have no luck doing it. I already installed libxml2 Version 2.3.14-1 with Fink. Not good enough I'm afraid: that fink package must be fairly old. From the Makefile.PL for XML::LibXML die XML::LibXML needs libxml2 version 2.4.8 or higher\n; Anyone can provide a simple step by step guide to do such a task. Pretty close to it: try the perl-xml mailing list archives for November at www.activestate.com and hunt for my long message about how to install these two libraries (libXML and LibXSLT). After that the Perl wrappers just went on like a dream. Warning: read the whole thing through, as I've included a lot of false starts! OK, I'll find it... (it's already so late, so very, very, late: no, I tell a lie. It's already so early, so ) http://aspn.activestate.com/ASPN/Mail/Message/919475 Good luck, Paul
Re: Creating groups was (RE: OT: mySQL installation)
Maybe this will stop the OT stuff: maybe it'll only make it worse! Well that still doesn't explain how to create a group I've inserted a chunk of a nervous nelly step-by-step set of instructions I wrote a while ago on a macfixit_forum thread below this message. niutil is probably preferable to the netinfo manager route proposed below if you're going to be doing a lot of this sort of thing, but the latter gets the job done with relative ease and reasonable transparency. You might want to back up your netinfo local databases before changing anything: the files you want (contra the man pages in osx) are in /var/db/netinfo/ In particular, you need to back up the local.nidb directory. To do this you can use something like the following: % cd /var/db/netinfo % sudo tcsh root# mkdir ~/nidbbup root# tar cpf - local.nidb | (cd ~/nidbbup/; tar xpf -) root# exit The above ensures that permissions and ownership are properly preserved. (Obviously the whole directory structure is going to be owned by root, which might at least make you hum and haaa for a while before flushing it!). Hmmm, time to finish: this was supposed to be a cut and paste job. Corrections/clarifications/suggestions_for_improvement/connections_with_perl welcomed with open arms. In particular, I can't find much on single user mode in osx: is having a netinfo backup in your home directory going to be helpful? Is there a more helpful/readily_accessible place to throw it? Cheers, Paul -- When netinfo manager opens you should either see, or be able to navigate to the groups directory, which is where the current group info is stored. (Note that changing /etc/group won't change anything except in (for example) single user mode, because netinfo hasn't been started in such situations.) Click on groups and choose New subdirectory from the Directory menu. If it's greyed out you'll have to authenticate via the usual lock in the bottom left hand corner. Now double click where it says new_directory (the value associated with the name property) and change it to your new group name. Now add in values for the passwd property (this is almost always * as noone seems to use group passwords), the gid property, and the members property. The entries in the Directory menu allow you to do all this. If the required entries are greyed out make sure that you're cursor is focused in the properties/values area of the netinfo manager window. If you want to check the format of such an entry just look at an existing one in the groups directory. (You might be asked if you wish to save changes when you try to change to an existing entry from the one you're in the process of adding; do as you will!). One gotcha that I just noticed: the changes you make don't take effect within the current terminal invocation. You really do need to quit terminal and restart it to see your new group definitions. I was getting strange output in which typing id would produce different output from id pmccann (my username) in the terminal session. Seems that terminal caches that data. Anyway, as per the above: **tread carefully**. Netinfo manager is powerful and hence (justifiably) scary. The delete directory button in particular just radiates destructive potential. You're prompted when you try and delete a directory, but the confirmation message doesn't echo which directory is going to be deleted. Yech! Hopefully the above will get you started. I think I've washed my hands enough! --
Re: making a file executable
Hi Robin, On Friday, 20 July 2001 at 3:45AM you wrote: I've included the script below for perusal, it basically kills any apps which are open at the time of invokation - I got fed up doing it manually and didn't want to write an Applescript to do it. It works as expected when run from the command line using 'perl script.pl', but fails silently when I try to call it by name, even after forcing OSX to place it in /usr/bin/ Nota bene: even if /usr/bin is in your PATH (which is almost definite: life in a macosx terminal window without /usr/bin in the PATH is pretty grim!) you'll need to let the shell know that you've added in the new executable. Either type rehash so that the shell scans through your directories in the same way it does when you log in (caching the result), or (more easily) close the terminal and open a new one. Cheers, Paul
Re: Make is where it should but where is 'wich' ?
Hi Ronald, To find make Martin suggested %wich make or %where make. On my machine make gnumake are where they should be, thougth bash can not find wich or where? Are this to tools part of the developer tools? They are not on /usr/bin, where else can they be? Otherwise where can I get them? which and where are built into the standard shells (zsh, csh, tcsh) found in MacOSX. Judging by bash on my solaris box (I haven't installed it for MacOSX) it seems that where is not available in bash, but you can use whereis instead: I'd guess that where is simply another way to call whereis in the other shells. which (with the h) works fine in bash. That is, both of these should work for you: which make whereis make Cheers, Paul
Re: apache wont start on osX (needed to run perl-cgi scrips)
Replying to Alan, Scott wrote... you need to be root to start it. use sudo sudo apachectl start Which nicely explains the message that Alan saw: httpd: could not open error log file /private/var/log/httpd/error_log httpd starts up with root privileges, opens the log files, which are writeable only by root, and in a directory only writeable by root: hence Alan's inability to make anything in there via an *administrator* account in MacOS X. [An administrator account in MacOS X is not equivalent to a root account, but I believe that such a user is thrown into the /etc/sudoers file with full access by default. So you're about four letters short of root.] Anyway, getting back to the miserably small point of this overly long paragraph: after opening the log files apache forks a number of times, and the uid of the children is changed from root to www (or nobody on some systems?). These low-privilege babies do all of the accepting/processing of connections etc. The nice bit is that they inherit the open file descriptors from the mega-powerful parent, and hence can write to "root only" log files. But that's the only rootly power they command. as far as the 127.0.0.1 you don't have a hostname set for the unix side of things.. Apple hasn't made this easy, you need to edit /etc/hostconfig and set the hostname Yep, hit this one while trying to use sendmail, which refused to run while only finding "localhost" as hostname. While I added in the fully qualified version of my hostname I'm not sure that this was needed/correct. Does /etc/hostconfig want "osx" or "osx.maths.adelaide.edu.au"? The latter seems to work fine, but it's somewhat unheimlich seeing the fully qualified name come up in response to a hostname query. (In case anyone's going in the same direction in trying to use sendmail, you'll also need to make the / directory non-group-writeable via "sudo chmod g-w /" or something similar.) Ah yeah, perl, umm. Perl's going swimmingly, shockingly well on the new platform, which is more than can be said for the Hard Drives on which it is installed! Disk First Aid helped me for the first time *ever* this morning. You could have knocked me over with a feather: found errors, repaired errors, machine stopped flashing my longtime foe on boot (question mark on floppy drive image) and actually rebooted in MacOS X. Perl, perl, perl... Spreadsheet::WriteExcel is recommended for profit and pleasure. Lots of fun for all the MacOS X family. Given that the academic staff here just *lurv* Excel spreadsheets it's rather nice to be able to feed in a collection of tab delimited classlists in mbox format (ie coming from about 160 separate email messages), remove the mail_headers/redundant_messages, rearrange the ordering of the information, change the widths of certain columns of the output, and produce circa one hundred spreadsheets in about 20 seconds. I like *muchly*. (The script's almost certainly too format-specific to be much help to anyone else, not to mention too ugly to see the light of day. Suffice to say that it pretty much rides on the back of the tab2xls.pl script in the Spreadsheet::WriteExcel distribution, adding a modicum of formatting to a selection of columns.) Cheers, Paul