I have a perl script and MacOS Classic app (say named './myapp'); I'm on OSX. I need to execute that app from perl script. Running
system('./myapp');
in the proper directory doesn't work ($@ is 'cannot execute binary file'); typing ./myapp in Terminal produces exactly the same error. 'file ./myapp' prints 'myapp: header for PowerPC PEF executable'.
I'm not a Mac pro, could anybody give hints what I should do to run it from perl script?
Thanks in advance for your answers!
system( "open .../myapp" ) should work. See man open.
When I run in while in the same directory where app resides, and run as
open ./myapp
I get
2006-02-03 08:08:59.110 open[396] LSOpenFromURLSpec() returned -10814 for application (null) path /Volumes/Untitled 2/myapp 2006-02-03 08:08:59.114 open[396] Couldn't open file: /Volumes/Untitled 2/myappWhen I run
2006-02-03 08:17:49.352 open[429] No such file: /Volumes/Untitled 2/.../myappWhat the case #1 means - is it a bug in the app I run, or something is wrong with the binary file?
I'd guess something's wrong with myapp. I just verified that open does start Classic apps (ran the OS 9 versions of SimpleEdit and Graphing Calculator using it fine).
perl -le 'system( "open", "/Applications (Mac OS 9)/Graphing Calculator" )'
Thanks in advance for your answers!
The actual code for OS9 binaries are stored as one or more CODE resources, so you're going to be out of luck if you can't store resource forks. That said, ISO9660 should be able to store the resource forks for you (in a separate file on the CD, but organised such that OS9 can find it) - see this article for a bit more background information.
Hope that helps.
The resource fork holds information about the windows, dialog boxes, images, etc. used by the application. Once the resource fork is trashed, the application is dead.
The best way to transfer a Mac app and keep its resource fork is to use StuffIt to binhex or just stuff the file before sending via email, ftp, or burning to a CD that doesn't maintain the resources.
If you can get the file stuffed, and then FTP it again, you should have a working application. Burn the stuffed file to CD, and then instruct your end user to un-stuff it at their end. StuffIt Expander is available as a free download
Thanks again!
perlmonks.org content © perlmonks.org and Anonymous Monk, digger, Fletch, john_oshea
prlmnks.org © 2006 edmund von der burg (eccles & toad)
v 0.03