ホーム > HTMLに役立つヒント
> マニュアルに書いてないきのぼず > MAC perlで動かす
このページはOS 9以前で動かすときの話です。OS XではFreeBSDベースのシステムになっていますので、通常のUNIX perlが動きます(最初からインストールされている。バージョンは5.6.0)ので、このページにあるような改造は必要ありません。ただし、デフォルトではOS XはCGIの機能がOFFになっていますので、CGIを使えるように設定を変更する必要があります。やり方は「HTMLに役立つヒント」の「Mac OS XDarwin Tips」を見てください。
●ファイルをMACの改行コードにする R6.x/R7.x ▲このページのトップへ ▲▲目次ページへ
これはけっこう簡単。「.cgi」「.pl」ファイルを全部「EUC/CR」にする。CRはMACの改行コード。基本的にはこれだけで動きます。
●改行無視を直す R6.x/R7.x ▲このページのトップへ ▲▲目次ページへ
改行コードを直しただけではMACperlのバグ(?)のせいで改行が無視されてしまう。そこで、以下のように赤い部分を書き換えてやる。
●オリジナル R6.11の場合 ▲このページのトップへ ▲▲目次ページへ
sub PlainArticleToHtml
{
local( *Article ) = @_;
$Article =~ s/^\n*//o;
$Article =~ s/\n*$//o;
$Article =~ s/\n/<br>\n/go;
$Article =~ s/<br>\n<br>\n(<br>\n)*/<\/p>\n\n<p>/go;
$Article = "<p>$Article</p>";
}
●改造後
sub PlainArticleToHtml
{
if ( $PC ==1 ) { # MACだったら
$pcreturn = "\r";
} else {
$pcreturn = "\n";
}
local( *Article ) = @_;
$Article =~ s/^$pcreturn*//o;
$Article =~ s/$pcreturn*$//o;
$Article =~ s/$pcreturn/<br>\n/go;
$Article =~ s/<br>$pcreturn<br>$pcreturn(<br>$pcreturn)*/<\/p>$pcreturn$pcreturn<p>/go;
$Article = "<p>$Article</p>";
}
●オリジナル R7.2の場合 ▲このページのトップへ ▲▲目次ページへ
sub plainArticleToHtml
{
local( *Article ) = @_;
$Article =~ s/^\n*//o;
$Article =~ s/\n*$//o;
$Article =~ s/\n/$HTML_BR/go;
$Article =~ s/$HTML_BR($HTML_BR)+/<\/p>\n\n<p>/go;
$Article = "<p>$Article</p>";
}
●改造後
sub plainArticleToHtml
{
if ( $PC ==1 ) { # MACだったら
$pcreturn = "\r";
} else {
$pcreturn = "\n";
}
local( *Article ) = @_;
$Article =~ s/^$pcreturn*//o;
$Article =~ s/$pcreturn*$//o;
$Article =~ s/$pcreturn/$HTML_BR/go;
$Article =~ s/$HTML_BR($HTML_BR)+/<\/p>$pcreturn$pcreturn<p>/go;
$Article = "<p>$Article</p>";
}
■■オリジナル
sub getPath
{
local( $DbDir, $File ) = @_;
if ( $MACPERL )
{
":$DbDir:$File";
}
else
{
"$DbDir/$File";
}
}
■■改造後
sub getPath
{
local( $dir, $file ) = @_;
if ( $MACPERL )
{
if ( $dir eq '.' )
{
":$file";
}
else
{
":$dir:$file";
}
}
else
{
"$dir/$file";
}
}
以上でMAC向けの改造は終わりです。