★ INCM Plug-in開発掲示板 ★ TinyGrass Ver0.32a [戻る]
[0137] 00/09/02 12:44 まこっちゃん(R5XL8TvmUmA): 発言者が同じになります
GETWILD'74さん、すばやい新Nifty掲示板対応ありがとうございます。
早速使わせていただいていますが、1度の巡回で取ってきた発言の
発言者がみんな同じになってしまいます。
おそらくその巡回時の、最も新しい発言者の名前になっているようです。
[0136] 00/09/01 10:42 GETWILD'74(Qk25uvB38zc): Re:135)RE: 巡回できました。
>>発言者が「00」になっていたり、
修正版をアップしました。
http://www07.u-page.so-net.ne.jp/yd5/march-o/
[0135] 00/09/01 10:14 GETWILD'74(Qk25uvB38zc): Re:134)RE: 巡回できました。
>発言者が「00」になっていたり、
メールアドレスのみでHPアドレスがない場合に発生する現象です。
直したつもりだったんですが、ダメみたいですね。
いろいろとやってみます。
>発言したら、発言番号が*になっていたりします。
え〜と、これはINCMで発言したら掲示板にはちゃんと書き込まれてるんですよね。
で、巡回したら発言番号が取得できないということでしょうか?
http://www07.u-page.so-net.ne.jp/yd5/march-o/
[0134] 00/09/01 00:05 McCoy(TdyAw47RI6o): 巡回できました。
GETWILD'74さん、こんにちは。
プラグイン使わせていただきました。
どうもありがとうございました。
無事に巡回できましたが..、
ちょっとおかしいです。(^^;
発言者が「00」になっていたり、
発言したら、発言番号が*になっていたりします。
全然知識がないので、自分では作れませんので、
しばらくは、これを使っていきます。m(__)m
[0133] 00/08/31 17:21 GETWILD'74(Qk25uvB38zc): Re:132)RE: niftyの掲示板が変更になりました..
一応できたみたいです。
あんまり確認してないんでおかしいかも。(^^;
初めてツリーのが出来た。
でも、ツリー処理のところはちょっと変えただけだったりして。
以下に数個のプラグインと一緒に置いてあります。
http://www6.wind.ne.jp/okuzawa/cgi-room/incm_plugin/incm_plugin.htm
http://www07.u-page.so-net.ne.jp/yd5/march-o/
[0132] 00/08/31 00:06 McCoy(Lh8dq.RGMss): niftyの掲示板が変更になりました..
みなさま、はじめまして。
INCMを便利に使わせていただいておりました。
本日、@niftyの掲示板システムが変更になりまして、
INCMが@niftyの掲示板を読み書きすることができなくなってしまいました。
今後ともINCMを使っていきたいと思っておりますので、
是非とも、@nifty掲示板を読み書きできるプラグインを開発していただけないかと、
掲示板に書き込んでいます。
どうか、よろしくお願いします。
http://homepage1.nifty.com/McCoy/index.htm
[0131] 00/08/11 10:44 里道(esjCiRi1ZEg): Re:130)れれ。like設定
一 五明さん。レスありがとうございました。
likeに関してはいろいろと試しております。
実は一部については、毎回CMTファイルを直接編集というアホな事をやっております。
[0130] 00/08/09 07:50 一 五明(YMjHyfzdazU): Re:124)RE: likeの設定なんですけど
>題名の中に「、」や「。」がある場合その位置で題名が終了してしまいます。
>(他のプラグインでも同じ様なことがあります。)
タイトルが無いシステムで本文一行目をタイトルとして抽出する際にこう
いう処理をした覚えはあります。
あとJperl前提のプラグインをPerlで使うと漢字コードの関係でこうなる可
能性はあります。
Likeに関してはよく判りません。
RAYさんはこっちの掲示板見てないですかね…?
INCM掲示板2に書いた方がいいかもしれません。
個人的にはlikeの設定専用掲示板を作るか…どうせなら確か.icfはmamimi
の.tplの上位互換だったと思うので、カスタマイズに関する掲示板を共有
するような形にして、互いのユーザーに利益のある形に出来ないかなあ…
とも思ってますが。
(EdMaxにも似たような設定ファイルあった気が)
http://kt.sakura.ne.jp/~timeflow/MENU.HTM
[0129] 00/08/09 07:50 一 五明(YMjHyfzdazU): 自分では判ってるつもりでも
人に説明するって難しいですね。
近々サポート困難になりそうなので、何とか早期にサポート出来る人を
増やしたいところなのですが…
http://kt.sakura.ne.jp/~timeflow/MENU.HTM
[0128] 00/08/09 07:50 一 五明(YMjHyfzdazU): ▼ Perl入門(5-3)パターンマッチを試してみる
では、HTMLのソース中で投稿者名の部分が
投稿者:GAE<br>
のような形になっている掲示板があるとします。勿論「GAE」の部分は投稿者
毎に変わります。その1つの書き込みを含む文字列が $_ に入っているとして、
そこから正規表現で投稿者名を取り出すには、例えば
/投稿者:(.*?)<br>/;
のようにします。
正規表現中では基本的に、英数文字や漢字等はそのままその文字を表し、記号
には特殊な意味を持つものが多いです。上の例で言うと、「<」と「>」はそのま
ま文字ですが、「(.*?)」の部分は特殊な意味を持ちます。
まず、( 〜 )で囲まれた部分は、正規表現が文字列に一致(マッチ)した場合、
特殊変数 $1に入ります。正規表現中に複数の ( 〜 ) が出てきた場合、$2,$3,$4 …
に入ります。
(勿論、 $_ が「投稿者:」と言う文字列を含んでない場合等、一致しない場
合も有ります。その場合は $1 は空っぽになります)
次に、「.」は、「改行以外の何か1文字」です。
で、「*?」は、「直前の文字の0個以上の繰り返して最短一致」です。
ちなみに「*」のみだと、「直前の文字の0個以上の繰り返して最長一致」です。
「.*?」だと、「改行文字以外の何でもいいから0個以上並んだもの」に一致し
ます。
要するに上の正規表現は、「投稿者:」の後ろに何かくっ付いていて、さらに
その後ろに「<br>」がくっついていたら、何かくっついてるやつ(つまり投稿者名)
を $1に入れよ…と言う意味になります。
ちなみに最小一致と最短一致の違いですが、$_に入っている文字列が
「<hr>投稿者:GAE<br><br>本文です<br>」
だとして、
/投稿者:(.*?)<br>/; #最短一致
だと、$1の値は「GAE」になりますが、
/投稿者:(.*)<br>/; #最長一致
だと、$1の値は「GAE<br><br>本文です」になります。
最長一致の場合は、その後ろにくっついている文字(この場合<br>)を、文字
列の最後までサーチして、その直前までを結果にします。
「.」と組み合わせて使う場合は最短一致の方が便利なことが多いようですが、
他の文字や記号と組み合わせて使えば最長一致が便利に使える場面も多いです。
http://kt.sakura.ne.jp/~timeflow/MENU.HTM
[0127] 00/08/09 07:50 一 五明(YMjHyfzdazU): ▼ Perl入門(5-2) 正規表現とは
正規表現とは、regular expressionの訳語で、たぶん「どんな文字列も単純な
規則に当てはめて表現する」…のようなニュアンス…だと思います。
Winだと似たような例として、例えばメモ帳の「ファイルを開く」メニューで、
ファイル名のところに「*.txt」と出てるのがあります。「*」の部分は何にでも
一致し、.txtの部分は拡張子が「.txt」のファイルのみに一致するので、結果的
に一致するファイル(そのフォルダ内の、拡張子が.txtのファイル全部)だけが
表示されるわけです。
このファイル名に対する「*.txt」のような表記(ワイルドカード)を強力に
したようなものが正規表現です。
その正規表現を使って、
変数名 =~ /(正規表現)/;
とすると、変数が「正規表現で表される文字列」を含んでいるかどうかを調べ
ることが出来ます。これを「パターンマッチを取る(行う/掛ける)」とも言い
ます。
これで変数が特定の文字列(HTMLのタグ等)を含んでいるか否かを調べたり、
変数中の抽出したい部分だけを取り出したりすることが出来るわけです。
なお、変数が特殊変数の $_ である場合、「変数名 =~ 」の部分は省略可能です。
先程解説したように、掲示板のHTMLの内容は $_ に読み込まれていきますので、
簡単なINCMプラグを作るだけなら変数名は考えなくてもいいかもしれません。
(ただしHTMLの組みかたによっては一度抽出したものに再度パターンマッチ掛
けたりする必要も出てきます)
http://kt.sakura.ne.jp/~timeflow/MENU.HTM
[0126] 00/08/09 07:50 一 五明(YMjHyfzdazU): ▼ Perl入門(5-1) HTMLから名前やタイトルの抽出・準備
メインループ(第3回に書き換え対象として示した部分)の最初の方に
while(<HTTP>){ # 区切り毎に、ファイル終端まで $_に読む
というのが出てきます。
区切り($/)さえきちんと設定できていれば、書き込み1つ毎に特殊変数の
「$_」に読み込まれて、ページの終端まで繰り返してくれるということです。
ただし、投稿者名もタイトルも日付も本文も全部くっついた状態です。
ので、まずそこから各要素を抽出する必要があります。その際に使うのが正規
表現であり、パターンマッチなのです。
http://kt.sakura.ne.jp/~timeflow/MENU.HTM
[0125] 00/08/04 08:41 GETWILD'74(Qk25uvB38zc): Re:122)RE: というわけで一応再開
一 五明さん、こんにちは。
私はこの講座はもうないだろうと諦めていました。
しかし、再開して喜ばしい限りです。
ありがとうございます。
http://www07.u-page.so-net.ne.jp/yd5/march-o/
[0124] 00/08/03 21:15 里道(bJ0kONRj/FY): likeの設定なんですけど
皆さんはじめまして、里道です。
perl の学習を始めたばかりですが like の設定でとまどってます。
題名の中に「、」や「。」がある場合その位置で題名が終了してしまいます。
例)
こんにちは、里道です。
↓
こんにちは
上記のような場合どのよう設定にすればよろしいのでしょうか?
(他のプラグインでも同じ様なことがあります。)
[0123] 00/08/02 22:09 きゃしあす(Z4Suau.SJR2): Re:122)RE: 再開有難う御座います。
こんにちは、再開希望しておりましたきゃしあすです。
講座再開、大変嬉しく思います。
> 「覚えるだけ」だとつまらないので、なるべく「実践しながら覚えて
>いく」形を取りたいのですが、難しいですね。
そうですね、実践しながらだと覚える効率は飛躍的に高まりますからね。
> 今回は実践的な内容も無いので、Perlかじったことのある人にはほとんど
>役に立たないと思いますが(^^;
いえいえ、ワタクシなど、Perlほとんどかじったことのない人ですので、
「ああ、そういう事だったのか」とひざを打ってばっかりです。
おかげでひざが擦り切れてしまいました(座布団抜かれそう…)。
うーむ、いかんいかん、こんな落とし方では凍えてしまう…。
それはさておき。
これからも不定期講座、楽しみに待ってます。それではまた。
[0122] 00/08/01 09:58 一 五明(YMjHyfzdazU): Re:115)というわけで一応再開
前回の最後に、次回は名前等の抽出、と書きましたが、その前に解説
する必要のあることが結構あることに気づいてしまったのでした。
「覚えるだけ」だとつまらないので、なるべく「実践しながら覚えて
いく」形を取りたいのですが、難しいですね。
今回は実践的な内容も無いので、Perlかじったことのある人にはほとんど
役に立たないと思いますが(^^;
http://kt.sakura.ne.jp/~timeflow/MENU.HTM
[0121] 00/08/01 09:58 一 五明(YMjHyfzdazU): ▼ Perl入門(4-4) 文字列、文字式
変数に代入したり、print文(後で解説)で出力するのに使う文字列は "〜" や
'〜' で囲んで記述します。
'〜'の場合は、囲んだ文字がほとんどそのまま文字列になります。
"〜"の場合は、特殊文字や変数を埋め込むことが可能です。例えば「\n」は改行
コードを表す特殊文字で、それを書いた位置に改行コードが埋め込まれます。
変数を埋め込む場合は、例えば
"$num番目"
という表記は、変数$numが1なら「1番目」、10なら「10番目」という文字列を
表します。
文字列、変数はピリオド(.)でくっつけることも出来ます。
"あいうえお"
"あいう"."えお"
上の2つは同じ文字列を表します。
http://kt.sakura.ne.jp/~timeflow/MENU.HTM
[0120] 00/08/01 09:58 一 五明(YMjHyfzdazU): ▼ Perl入門(4-3) サブルーチン集 CMLIB15(Ver0.25)で使っている変数
システムが使ってなくても、私のサブルーチン(CMLIB15.PL)の内部で使って
いるために、(意味を把握せずに)値を変えてしまうとまずい変数というのがあ
ります。本来サブルーチン内では変数をローカル化(サブルーチン内でのみ有効
にする)するのが良いとされますが、プログラムを簡単にするためにこうしました。
以下はその一覧です(いくつか忘れてる可能性有り(^^;)
$host incm_bbs.iniから読んだURLのホスト部分(例:www.probider.ne.jp)
$uri URLのサーバー内位置(例:/~user/cgi-bin/bbs.cgi)
$proxy プロキシサーバーのアドレス
$port HTTPのポートNo.
$user 認証データー
$param1 フォルダプロパティのparam1
$param2 フォルダプロパティのparam2(大抵未読ポインタか取得ページ数)
$adcache URLの名前を数値アドレスに変換してキャッシュしておいたもの
$local HTTPサーバーから読む場合0、ローカルコンバート時に1
$newptr 空白でも0でもない場合、終了時にparam2に置き換わる
(大抵未読ポインタ)
$upurl 空白でも0でもない場合、終了時に送信先のURLに置き換わる
$charset 空白でも0でもない場合、終了時に送信時の漢字コードに置き換わる
(現在設定できる値は「S-JIS」か「EUC」のみ)
もちろん私の作ったサブルーチンを使わずにプラグインを作成する場合は
無関係です。
http://kt.sakura.ne.jp/~timeflow/MENU.HTM
[0119] 00/08/01 09:58 一 五明(YMjHyfzdazU): ▼ Perl入門(4-2) 特殊変数
$の次がアルファベットでない変数というのもあります。これらはPerlのシス
テムが使っている特殊変数で、$_に関しては、ほぼ自由に書き換えが可能ですが、
他は意味を把握せずに書き換えると異常動作を起こします(読み込むのは自由)。
最初に書き換えた $/="<hr"; の「$/」も特殊変数で、ファイルハンドルや
ソケットから読み込む際の区切りを意味します。
$1〜$9と言うのもよく出てきますがこれも特殊変数で、$1なら「直前のパター
ンマッチ(後述)が成功した場合、その中の括弧で括られた1番目の部分」、$2
なら2番目…です。
なお、例外的に「1文字目がアルファベットな特殊変数」もあります。配列変数
には結構ありますが、配列変数以外では「$ARGV」(空のファイルハンドルを使う
場合の現在の読み込みファイル名。INCMプラグインではまず関係無し)くらいだっ
たと思います。
http://kt.sakura.ne.jp/~timeflow/MENU.HTM
[0118] 00/08/01 09:58 一 五明(YMjHyfzdazU): ▼ Perl入門(4-1) 変数と代入
頭に「$」が付いてるのが変数で、文字列や数値を記憶しておくことが出来ます。
また「(変数名)=(値);」とすれば変数に値を記憶させる(代入)することが出来
ます。値の所には数字や、"〜"や'〜'で囲まれた文字列が入ります。
$num=1;
$date="2000/01/02,03:45";
ちなみに「値」は文字列や数値、文字式、数式でも構いません。
変数名は、基本的に1文字目($の次)がアルファベット、2文字目以降が英数字
であれば好きな名前を付けられ、メモリの許す限りいくらでも使え(作れ)ます。
大文字小文字は区別されます。
http://kt.sakura.ne.jp/~timeflow/MENU.HTM
[0117] 00/08/01 07:47 一 五明(YMjHyfzdazU): Re:116)TGrassは編集/削除が面倒なのに〜
とりあえず被害が出ないようメールアドレスだけ伏せて、本文は
見せしめ(笑)に残しておきました。
まあ反論とか書いても書いた本人は見てないケースが多いの
ですが。
何かサーチエンジンの検索ロボットを応用したようなやつで、
ひたすらリンク辿ってTEXTAREA含んだフォームがあったら見
境無く書き込むようなツールで書いてる場合も多いようですね。
そこまででなくても、宣伝目的の掲示板書き込み専用ツール
みたいなものもあって、反オートパイロット感情煽る一因になっ
てたりして…
要するにINCMも間接的に被害受けてるってことではあります。
http://kt.sakura.ne.jp/~timeflow/MENU.HTM
[0116] 00/08/01 01:21 GAE(vbbj25HUgnk): Re:114)あらら
こっちにも来てますね(笑)
INCM掲示板2の方は削除しましたが…あほだなあ(笑)
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0115] 00/07/31 23:19 きゃしあす(Z4Suau.SJR2): INCMのためのPerl入門の再開予定はありますか?
一さん、みなさん、はじめまして。
先日来、GAEさん作のINCMを使いはじめ、感動しているきゃしあすと申します。
テレホ無しの環境にはとても嬉しいです。INCMに私の家計は大助かりです。
さて、こちらの掲示板の過去ログを読んでおりましたら、1月ごろに一さんがされていた
Perl講座をみつけました。
小生、現在Perl初心者ながら、Plug-inを作ろうといろいろ勉強しておりまして、
この講座が再開されますと、非常に参考になるのです。
もしもお時間がありましたら、再開のほど、御一考戴ければ幸いです。
それではまた。
[0114] 00/07/31 17:37 K.K(itLmXlzDs12): さぁ、君も在宅ワークで高収入を!!
Eメールを送ることによって今から2,3ヶ月後には200万円以上、最終的には
1800万円以上の副収入を得ることができます。無理だとおもいますか?
だまされたと思って、メールをください。決してだまされません。
まずメールで詳細を請求してお読みください。納得のいく収入プランです。
いつの日か幸運が必ずやってくるとあなたが信じるならこの書き込みをみたこと
が幸運なのです。100%の確率で確実に成功します。みんなが始めたらもう遅
いのです。はやいもの勝ちです。さあ、あなたの夢をかなえましょう。
メール:xxxxxxxx@xxx-xxx.xx.xx
[0113] 00/06/21 14:46 GETWILD'74(Qk25uvB38zc): Re:110)RE: ソース見てみないと何とも言えませんが
> 特殊変数の「$/」がファイルハンドルやソケットから読み出すときの区切
>りですので、例えば
おっしゃる通りにしたら、ローカルでは成功しました。
いざ、本番と思ったら記事自体がうまく認識されません。
同じCGIなのになぜでしょう?
初心者にはちょっとお手上げです。
しかし、いろいろと勉強になったので質問して良かったです。
どうもありがとうございました。
http://www07.u-page.so-net.ne.jp/yd5/march-o/
[次のページ]