ハード全般
青色LED
キーボード
ジャンクHDD
Millenium I
AHA-2940UW
NeXTキ-ボ-ド
キー・ホルダ
USBポート切替
ADB GamePAD
SCSI-BOX
GeoPort給電
AirMac修理
USB-SCSI
USBキ-ボ-ド
USB角マウス
iBook修理
NeXTキ-ボ-ド2
EtherWave
ADB連動TAP

Mac Plus
128KMac改
続・Plus改
10Base-2→T
ATX電源ON!
iMacPlus

PowerMac 7100
復活の7100
7100 in IIcx
AUI→AAUI
32M-SIMM
Win on 7100
CD with 7100

PowerMac 8500
8500分解
メモリ増設
Drive増設
SonyのFD
64M-DIMM

Yosemite
Socket再生
DVD搭載
DVD再生
FireWire
シリアル
PCIでFireWire
ホタル点滅
FireWire修理
SawTooth化
300W静音電源
フロントSlot

iMac
iMacの解体
ADB復活
信号/解析
DVD搭載
8M-VRAM化
1M-cache化

iMacDV
コネクタ信号
DV in IIcx
DV基板PartII

Cube
電源SW対策
DVD-R搭載
24V電源
AirMac互換
ATX電源化
7457換装
電源内蔵
Li2次電池
1394a-HDD

OSX〜10.1
β起動
Tips
解析など
iCab
iTunes
SD-R1002
GhostScript
GSで印刷

Jaguar
PerlでCGI
Tips

Panther
DVD-Multi
GhostScript

〜MacOS9
OS 9
OS 8.1E
OS 8
パッチ1
パッチ2
QT4パッチ
プリンタ共有
Mac&TekScope
GhostScript

www/Perl
wwwサーバ
PerlでCGI
UNIX&MacPerl

他/支援
CAP
MkLinux
Mac検定

掲示板
Mac-BBS


  MacPerlでCGIを!

WWWサーバを立ち上げたら早速、MacPerlでCGIを動かしてみましょう! UNIX用のPerlの移植を解説していきます。 例として亀屋BBSでおなじみのminiBBSを動かしてみましょう。


1)UNIX→Mac

UNIX用のPerlはEUCコード、改行コードLFのテキストです。
Macでのテキスト形式はShift-JIS、改行コードCRなので、MacPerlで読めるように、Jedit等でShift-JIS、改行コードCRでSAVEし直します。
Convert

2) MacPerlにドラッグ&ドロップして開きます。

3) デバック
UNIXのディレクトリ構成から、Macのフォルダ構成に変更していきます。
MacPerl-DEBUG

4) エスケープ
MacPerlはShift-JISでないといけないのですが、ここで問題が1つあります。 それは2Byte文字列中のESCコードです。

漢字が化ける場合にはその漢字もESCしてやります。

CGI-Save

5) Save
デバックしたら、いよいよ実行可能なCGIアプリを生成します!

新規保存 で、ファイルネームを ***.cgiとして、Script CGIとして保存します。

CGI-Save

6) CGI完成です!
これでテキストのPerlソースがMacで実行可能なCGIとして変換完了しました!
CGI-OK!


UNIX特有のコマンド

上の手順で移植&デバックの準備は整いましたね。  注意点を「もう1度」整理してみましょう!

UNIXのシェル・コマンドを呼び出してるようなのはMacPerlでは実行できません。
たとえば、flock関数や、ls関数 を直接呼んでるような部分です。

もう1度繰り返しますが、MacintoshはUNIXマシンではありません!

ディレクトリの指定方法の違い

Macは、ディレクトリではなく、フォルダで階層を管理しています。 HDDの書類を、「情報を見る」で見てみると、 さぁ、場所: の所に注目!

Folder-Directory?

/ではなく、:で区切っていますね。 そうなんです! Macではフォルダの階層は/ではなく:で区切るのです。
たとえば、

$file = './cgi-bin/minibbs.dat';  →  $file = '::cgi-bin:minibbs.dat';

って感じに書き換えてあげます。


MiniBBSが動いている様子

実際に1台のMacでサーバ側としてweb共有とMacPerlを使い、クライアントとしてNetscapeCom.からブラウズしてる様子をご覧ください!(^^)

web&Perl&Netscape

CLICK すると大画面表示します。


kameicon 自分で考え、試し、失敗してでもやりとげる意志がある人に,多少なりともここの情報が役に立てばそれでよしとしましょう。
従って、質問、メール等は原則的にお断りします。
亀屋TOPへ
Mac改造TOPへ