【しばらく編集不可モードで運営します】 編集(管理者用) | 差分 | 新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴

Perlについて質問 - 日ごろ不思議に思っていることを書いてみる

目次

日ごろ不思議に思っていることを書いてみる

04.10.5 正規表現の $ マーク

結城さんの日記の、「Yuki::Diaryのデータファイル 2004年9月9日」に出てくる正規表現で、「/$\d+\.txt$/」というのが出てきます。 この、 $ マークで始まる正規表現ってどういう効果があるのか、どなたか分かりますか? 一番最後に出てくる $ マークは、そこでその行がおしまいになる。 っていうことで分かるのですが、最初のほうの $ マークの意味がわからず、気になっています。 ううむ。もう一度、man perlre してきます。

先頭にマイナスのつく識別子

以前から気になっていたのですが、Perl で例えば -foo という字句は文法的にどのような位置付けになるのでしょうか。 ファイル演算子のほかに、Perl/Tkなどでハッシュのキーとして使われているのを見て不思議に思いました。--SHIMADA

 use strict;
 sub test {
 	#配列で表示
 	print join("\n", @_), "\n";
 
 	#配列だからハッシュにもなりまっせ
 	my %hData = @_;
 	my ($sKey, $sVal);
 	while(($sKey, $sVal) = each(%hData)) {
 		print "KEY: $sKey = $sVal\n";
 	}
	print $hData{-kaba}, "\n";
 }
 print $-, "\n";  #「セレクト中の出力チャネルの
            #現在のページに残されている行数」らしいッス。
 #Tk風?
 test( -kaba => 'desu', -yon => 1);

 [実行結果]
  0
 -kaba
 desu
 -yon
 1
 KEY: -kaba = desu
 KEY: -yon = 1
 desu


02.1.8 転送範囲とパーミッション

 私はプロバイダーのホームページにYukiWikiを入れて動かそうとしているのですが、次の点について教えてください。
(1)ダウンロードして解凍したファイル全てを転送しなければならないか。
あまりにも数が多いので、中には差し当たって使わないファイルもあるのではないか。 特に、ディレクトリの中に収まっているファイルは転送しなくてもよいのではないか。 全部となるとサイズが大き過ぎるので。
(2)705または755のパーミッションに変更しなければならないのは、perl fileとcgi file だけで良いか。
転送した時はパーミッションが全て644になっているので。

 以上、よろしくお願いします。(lkb)


(1)あまりにも数が多い、というのはよく分かりませんが、 ぜんぶを送る必要はありません。 yukimono.gifとかは送らなくていいです。 yukiwiki.cgi, jcode.pl, yukiwiki.gifだけでいいと思います。

(2)perl fileというのは何でしょう? 705(755)にするのはyukiwiki.cgiだけでOKです。

…というか、ドキュメント(readme.txt)を読んでくだされ。 結城


 ごさん、結城さん、早速のご回答ありがとうございます。

 ごさんが紹介された場所へは後程ゆっくり訪れるとして、とりあえず結城さんの疑問にお答えしておきます。

 結論から言うと、私の言葉足らずでした。私の質問内容は全てPerlのことだけなんです。したがって「余りにも数が多い」というのは、実はダウンロードしたPerlを解凍したら飛び出してきたファイルの数のことなんです。プロパティを調べるとファイルだけで238個もあります。このほか中にファイルの入っているフォルダがたくさんあります。

 CGIのスクリプトを作るつもりはなく、ただYukiWikiを動かしたいだけだから、それに必要なPerlは少なくてよいのではないかと素人判断をしたのです。

 perl fileというのは使ったFTPのファイルタイプにそう書いてあったので真似しただけです。そのファイルの拡張子はplとなっていました。

 以上です。(lkb)


YukiWikiを動かすために、まずはPerlのインストールから始めようとしているわけですね。これは単純にFTPするだけでは多分無理というか、CGIが使えると称するサーバーは大抵Perlがインストール済みですから、その必要はありません。

Wordで作った文書が、どのWindowsマシンでもダブルクリックだけで読めるのと同じことで、Perlがサーバーにインストールされてさえいれば、スクリプトファイル(この場合はYukiWiki)を適切に置くだけでCGIとして動作します。s_sawada


/usr/local/bin/perl しかないというプロバイダが存在します。@nifty もそうです。/usr/local/lib/perl 以下はありません。YukiWiki だけを動かしたい場合、どうすればいいかを http://hpcgi2.nifty.com/tokd/index.cgi?mycmd=read&mypage=HowToSetUpYukiWikiAtNifty に書いていますので参考にして下さい。--tokd
…以上のように有識者からコメントがついていますので、よろしくお願いします。 結城@他力本願
 皆さん、沢山の方々から助言をいただきありがとうございます。紹介していただいたページの内容を参考にしながら試行錯誤してみます。(lkb)

01.1.10 解決しました

 原因は、CGIの転送モードの間違いにありました。ASCIIモードでやり直したらあっさり解決しました。大変お騒がせして申し訳ありませんでした。これに懲りずに今後もよろしくお願いいたします。(lkb)


BIGLOBEにWIKIを設置にBIGLOBEのケースを少し書いてみましたので参考にしてください。 間違っているかもしれませんが。