★ INCM Plug-in開発掲示板 ★ TinyGrass Ver0.32a [戻る]
[0162] 00/09/29 15:12 GETWILD'74(Qk25uvB38zc): Re:161)RE: プラグイン作ってみました
>2〜3本、プラグインを作ってみてからperlの本を読んでみると、「あ、こういう
>書きかたすればよかったんだ、前に読んだときはどうして意味がわからなかった
>んだろ」っていうのがいっぱい出てきますよ。とりあえず動いているからいいこ
>とにしましたが、公開しちゃったプラグインの正規表現の書き方がもう、なんと
>も稚拙なこと……よく知ってる人が見たら、初心者の作なの、バレバレです。
私もそうですね。(^^;
全然理解しきれてない感じです。
[0161] 00/09/29 13:45 Buckeye(UnTUYw5MC2c): Re:159)RE: プラグイン作ってみました
GAEさん、perlプラグイン作者の世界へようこそ(爆)
>>インデントがちゃんとされてないのでつらかったです。
>>全部インデントしなおしてしまいました(笑)
一応、半角スペースで大体はインデントされてるんですが、わかりずらいですね。
私も、中身を読む前にタブでインデントし直しました。正規表現置換でざっと置
き換えて、最後は、目視で確認しながら修正、です。
人のプログラム、しかも自分が慣れていない(っつうより勉強しようとしてい
る)言語で書かれたプログラムを読むのだから、ブロックが一目でわかるように
しないとつらいものがありましたので。
>>ATCL のブロック内を書き換えるだけで作れました。
私は、ATCLブロック内を、if文とprint文だけに近い状態に書き換えちゃいまし
た。
それにしても、よくできたサンプルですよね。YY-BOARDプラグインとかを出発点
にして挫折しかけていたのに、このサンプルからスタートしたら楽なこと。この
プラグインサンプルの存在とできのよさを、もうちょっと広報しといてください
よ>一五明さん
>># 正規表現が思うようにかけないのには苦労しましたが(汗)
2〜3本、プラグインを作ってみてからperlの本を読んでみると、「あ、こういう
書きかたすればよかったんだ、前に読んだときはどうして意味がわからなかった
んだろ」っていうのがいっぱい出てきますよ。とりあえず動いているからいいこ
とにしましたが、公開しちゃったプラグインの正規表現の書き方がもう、なんと
も稚拙なこと……よく知ってる人が見たら、初心者の作なの、バレバレです。
Best Regards,
Buckeye
[0160] 00/09/29 08:43 一 五明(YMjHyfzdazU): Re:159)BASIC→アセンブラ→Perlなもので
>インデントがちゃんとされてないのでつらかったです。
>全部インデントしなおしてしまいました(笑)
Buckeyeさんも、CMTユニットのインテンドを全部直してました(^^;;
私は逆のことよくやります(^^;;;。
どうもBASICで育って、CやらずにPerlなので、何かあの「ソースが右に
寄っていく」のが馴染めないんです。で、BASICみたいなPerl書くことに。
>でも、これ以外は意外と楽でびっくりしました。
>ATCL のブロック内を書き換えるだけで作れました。
昔、(旧)CMの設定書くよりPerlでコンバートしたほうが楽だと言ったら
ショック受けてました?が、判るでしょう?(笑)
http://kt.sakura.ne.jp/~timeflow/M/
[0159] 00/09/28 22:24 GAE(vbbj25HUgnk): プラグイン作ってみました
RAYSPACE用のプラグインを
一五明さんの cm_SAMPLE.pl をもとにして作ってみました。
で、思ったのですが、
インデントがちゃんとされてないのでつらかったです。
全部インデントしなおしてしまいました(笑)
でも、これ以外は意外と楽でびっくりしました。
ATCL のブロック内を書き換えるだけで作れました。
# 正規表現が思うようにかけないのには苦労しましたが(汗)
いやー、結構面白いですね(笑)
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0158] 00/09/28 14:35 GAE(.yLuozr171c): Re:157)WinInet API
>おおっと、Cだったんですね(^^;)
WinInet API なので、Perlからは直接使えないです。
>>>汎用的に使えるようにちゃんと作るとなると
>>>半日くらいかかるような気がします。
>急ぎませんので、これ、おねがい、できます?(おそるおそる)
では作業に入ります。
Perl単体でできるようになることを祈りつつ(笑)
>>>そちらに VisualC++ とかがあればソースを送りますが
>とりあえずCコンパイラは持っていません。でも、もしかしたらCも勉強してみよ
>うかという話があるので、参考までにソースもいただけたらありがたいです。
>(perlさえも最近になって始めたばかりというのに、これ以上手を広げてどうす
>る>自分)
完成したらとりあえず送ります。
[0157] 00/09/28 05:02 Buckeye(UnTUYw5MC2c): Re:156)RE: コード
おおっと、Cだったんですね(^^;)
>>汎用的に使えるようにちゃんと作るとなると
>>半日くらいかかるような気がします。
急ぎませんので、これ、おねがい、できます?(おそるおそる)
>>そちらに VisualC++ とかがあればソースを送りますが
とりあえずCコンパイラは持っていません。でも、もしかしたらCも勉強してみよ
うかという話があるので、参考までにソースもいただけたらありがたいです。
(perlさえも最近になって始めたばかりというのに、これ以上手を広げてどうす
る>自分)
Best Regards,
Buckeye
[0156] 00/09/27 22:06 GAE(vbbj25HUgnk): Re:155)コード
> く、ください、そのhttpsへのアクセスルーチンm(._.)m
ソース持って帰るの忘れました(汗)
持って帰っていたとしても、インタフェース(コマンドラインの)とか
汎用的に使えるようにちゃんと作るとなると
半日くらいかかるような気がします。
そちらに VisualC++ とかがあればソースを送りますが
どうしましょうか?
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0155] 00/09/27 20:07 Buckeye(UnTUYw5MC2c): Re:152)RE: 確認しました
わー、すばやい。
く、ください、そのhttpsへのアクセスルーチンm(._.)m
そこがクリアできれば、あとはなんとかなるんじゃないかと思います>@niftyイ
ンターウェイ
Best Regards,
Buckeye@本業シュラバ継続中
[0154] 00/09/27 17:15 でぐ(s3nlldVwUNs): Re:153)RE: httpsへ・・・(3)Net::SSLeayその他のインストール
> まあ、すでに Perl のインストールを強要してるから大した差は無いのかもしれませんが(笑)
> すでにINCMプラグインの中にはいろいろモジュールが無いと動かないものもありますし。
そうなんですが、LWPとかだと「最新のActivePerlを入れてください」で済むんですよね。
あれは、インストーラーが良くできていますし。
このhttps関連は、Perlディレクトリ以下なんか見ようとしたことがないユーザー、というのも当り前にいそうで、やれといわれても困りそうな気が。
> Yahoo!News プラグイン、完成したらぜひ公開してください(笑)
つい先ほど、多分完成しました。
ずっと(半年ぐらい?)うまくいかなかった原因が、かの有名な「EOFがファイル中に入っている」というやつで・・・。
ここらへんをクリアされている先人(Yahoo! オークションとかのPlug-In作者さま)に感謝しております。
週末までに後2,3度使ってみて、問題がなければ・・・どうしよう。
メールでお送りすればよいですか?
下手に巡回カテゴリを増やすと、1日に1000件ぐらい、記事を拾ってくる迷惑プラグインですが。
[0153] 00/09/27 13:43 GAE(.yLuozr171c): Re:148)RE: httpsへ・・・(3)Net::SSLeayその他のインストール
>ということは、LWP::uaを使ったプラグインは、ここまでの手順を(各ユーザーが)踏めば、そのままでhttpsにたいおうすることになりますね。
>INCM.pl使用のものとか、未完成の私の自作Yahoo! Newsとか(笑)。
>しかし、プラグイン作者であればまだしも、その他のユーザーにこれをやれと言うのは・・・どうでしょうね?
(用語はよくわかりませんが)
LWPとか、ユーザの環境にあるかどうかあやしいものを使いまくるのは気がひけるので、
できればそれ無しで実現すると嬉しいですね。
まあ、すでに Perl のインストールを強要してるから大した差は無いのかもしれませんが(笑)
すでにINCMプラグインの中にはいろいろモジュールが無いと動かないものもありますし。
Yahoo!News プラグイン、完成したらぜひ公開してください(笑)
[0152] 00/09/27 13:43 GAE(.yLuozr171c): Re:151)確認しました
とりあえず https の URL から普通に html を持ってこれました。
試した URL は以前に https の話が出てきたときのやつです。
INCM掲示板 の 1600 番あたり。
http://www.gld.mmtr.or.jp/~naofumi/incm/bbs/tgrass.cgi?point=1600-1635
[0151] 00/09/26 00:44 GAE(vbbj25HUgnk): Re:150)https
> 引数としてurlとかを正しく渡せれば、あとはIEのコンポーネントが処理してく
> れるって可能性があると思うんです。
> この辺は、GAEさんが詳しいのかな……
あまり詳しくないです。
というより、英語がまともに読めないので、
あまり理解せずに使ってるというのが現状です(笑)
httpsについては、hotmailのプラグインを作ろうとしていたときに
ちょっとカベになりました。
結局解決できたかどうかわからないうちに企画倒れになってます。
また明日見直してみようとは思いますが、
ポート番号が違ってて接続できずにハマった記憶はあります(爆)
(430番くらいです、確か)
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0150] 00/09/25 20:28 Buckeye(UnTUYw5MC2c): Re:148)IEのコンポーネントは!?
IEのコンポーネントは使えないでしょうか。
前発言を書いた後、子どもを風呂にいれながらぼんやりと考えていて、ふと、思
いつきました。GAEさんも、「IEを活用すればカンタンに(っつうても私なんか
には難しいですが)アプリケーションが開発できる」みたいなことをINCMのヘル
プで書いておられたし……
IEはとうぜん、httpsへのアクセス手段を持っているわけですから、それを借用
できれば話は簡単になりますよね。今までツンドクしていて今日初めて開いた
perlの本によると、ちゃんと外部プログラムと連携する方法がperlには用意され
ているようですから(まともなプログラミング言語なら当たり前ですね^^;)、
引数としてurlとかを正しく渡せれば、あとはIEのコンポーネントが処理してく
れるって可能性があると思うんです。
この辺は、GAEさんが詳しいのかな……
Best Regards,
Buckeye
[0149] 00/09/25 20:28 Buckeye(UnTUYw5MC2c): Re:148)RE: httpsへ・・・(3)Net::SSLeayその他のインストール
どうもいろいろとありがとうございます。私が自分でここまで到達するには、何
週間かかかっただろうと思います(^^;)
やっぱり、「環境が整っていれば可能」なんですねぇ。私もトライしてみますが
……うーむ、うまくできるかどうかイマイチ自信がありません。まして、パソコ
ン初心者に勧められる方法じゃありませんねぇ、たしかに。
でも、最新のperlでも標準モジュールに組み込まれていない機能は、もっと前の
perlライブラリでは実現されているわけないですよね。かといって、自分でそん
なもん、書けるわけないし……うーむ、困ったなぁ。
>>しかし、プラグイン作者であればまだしも、その他のユーザーにこれをやれと
>>言うのは・・・どうでしょうね?
ちなみに、私は「プラグイン作者」なんですか? 自分ではそんなつもりはまっ
たくなかったんですが……いつのまになっちゃったんだろ(爆)
Best Regards,
Buckeye
[0148] 00/09/25 15:32 でぐ(MVbPwfyRCtk): Re:145)httpsへ・・・(3)Net::SSLeayその他のインストール
ActivePerl使いがモジュールをコンパイルできないときはActiveStateへ。
ActiveStateのモジュール置き場に言っても、そのまんまNet_SSLeayってのはありません。
「package.lst」を見るとCrypt-SSLeayがLWPをOpenSSLに対応させるとか何とか。
これをダウンロードしてください。
とても重要だと思う注意!
Perl5.005用のモジュール置き場と5.6用のは別ディレクトリになっています。
私と同様、5.6を使っている人は5.6用のCrypt-SSLeay.tar.gzをダウンロードしてください。
で、解凍するとblibとかいうディレクトリの下にいろんなのができるので、PPM・・・できないですね。
あてずっぽうで、blib\libの下のNetフォルダをPerlのlibの中に入れます。
同様に、CryptをPerlのsite\libの中に入れます。
見ると「auto」というディレクトリがあるので、blib\archの下のautoもPerlのsite\libの中に入れます。
で、動かすと・・・掲示板のデータらしいのが取れますね?
私は、取れました。
ということで、長くなりましたが、これでhttpsへのアクセスができるようになるはずです。
lwpcookの例を見る限り、LWP::uaの使い方はhttpアクセスのときと何ら変わりません。
ということは、LWP::uaを使ったプラグインは、ここまでの手順を(各ユーザーが)踏めば、そのままでhttpsにたいおうすることになりますね。
INCM.pl使用のものとか、未完成の私の自作Yahoo! Newsとか(笑)。
しかし、プラグイン作者であればまだしも、その他のユーザーにこれをやれと言うのは・・・どうでしょうね?
-----
ActiveStateのモジュール置き場へは、河馬屋二千年堂(Perlの小技)さんによれば「http://www.activestate.com/packages/zips/」からいけるそうです。
実際にはここから5.005のディレクトリへ飛ばされるので、5.6の人は1つ上のディレクトリに移ってみてください。
[0147] 00/09/25 15:32 でぐ(MVbPwfyRCtk): Re:145)httpsへ・・・(2)IO::Socket:SSLのインストール
LWPではhttpsへのアクセスを、LWP::Protocol::httpsでやってるそうです。
で、このスクリプトを見ると、「IO::Socket::SSL」か「Net::SSL」をuseしています。
・・・ないじゃん、どっちも。
以下、ちょっと愚痴っぽくなります。
CPANを探すと、そのまんま「IO-Socket-SSL-0.75.tar.gz」ってのと、微妙に違う「Net_SSLeay.pm-1.05.tar.gz」ってのがあります。
「IO-Socket-SSL-0.75.tar.gz」をダウンロードして解凍、READMEを読んでください。
「you need to have Net_SSLeay v1.03 or newer installed」と書いてあります。
OK、それならさっきCPANにあったやつだ。
そう言いながら、libの中のIOフォルダを、Perlのlibディレクトリに放り込んでください。
で、Net_SSLeayをダウンロードして解凍、README.Win32を見ると。
VC5.0とActivePerlとOpenSSLをインストールしてからmakefileうんぬん。
・・・VC持ってないし・・・と言うか、OpenSSLって何よ?
私はここがクリアできませんでした。ということで、コンパイルする方法は知りません。
同様にクリアできなかい方は、(3)にもお付き合いください。
-----
私の場合、CPANへは、「Perl初心者の部屋」から「CPANサーチ」経由で飛んでいます。
[0146] 00/09/25 15:32 でぐ(MVbPwfyRCtk): Re:145)httpsへ・・・(1)サンプルスクリプト
> 新しいバージョンのperlについてくるモジュールでは、httpsへの
> アクセスができるようです(LWPというモジュールらしい)。
ほとんど、lwpcookの例そのままですが、環境が整っていれば次のスクリプトでhttpsでのアクセスを実験できます。
# ---ここから---
use LWP;
use LWP::UserAgent;
# LWPモジュールのバージョン確認(私の使っている3月15日版は5.45・・・念のため)
print "This is libwww-perl-$LWP::VERSION\n";
# 使用例(lwpcookのものを、URLだけ一 五明さんが「以前挫折した」と言われているものに変更。)
my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new(GET => 'https://www.sec.so-net.ne.jp/DCEXPRESS/bbs/dcexpress/wforum.cgi');
#my $req = HTTP::Request->new(GET => 'https://www.helsinki.fi/');
my $res = $ua->request($req);
if ($res->is_success) {
print $res->as_string;
} else {
print "Failed: ", $res->status_line, "\n";
}
# ---ここまで---
ただし、「環境が整っていれば」というのが微妙な点です。
8月31日にインストールした私の環境では、lwpcookにhttpsについての記載があるのにNGでした。
つまり、最後のほうの「Failed: 〜」なメッセージが出てしまいます。
ってことで、失敗した方は(2)以下にお付き合いください。
[0145] 00/09/25 10:13 Buckeye(UnTUYw5MC2c): Re:144)ActivePerlのヘルプを検索すると……
新しいバージョンのperlについてくるモジュールでは、httpsへのアクセスがで
きるようです(LWPというモジュールらしい)。こうすりゃいいよってプログラ
ム例もあるので、たぶん、デコード処理もやってくれるんではないかと……今週
は本業がめちゃ忙しいので、来週にでもテストをしてみようと思ってはいます。
ただ、perlのバージョンによって違うようで、昨晩確認した、自宅側にインスト
ールしてあるperlにはhttpsへのアクセス方法が記載されていましたが、今、事
務所側にあるperlをみてみると、こちらにはありません。事務所は書籍からのイ
ンストールでたぶん昨年後半のバージョン、自宅はインターネットからダウンロ
ードしたものでこの夏のバージョンなので、その違いでしょう。
プログラムの頭に、どうも、perlのバージョンが〜以上じゃなきゃいけないって
指定されていたようなので、あのモジュールを使ったのでは、誰でも使えるって
ものにはならないのかもしれませんねぇ。
うーん、なんか、深みにはまりつつあるような気が……(^^;)
Best Regards,
Buckeye
[0144] 00/09/25 07:13 一 五明(YMjHyfzdazU): Re:143)すみません前に挫折したところです(^^;
>考えてみれば、https://にhttp://でアクセスしようとしても拒否されるのは当
>然なんですが……どうしたらいいんでしょうか。
例え接続出来てもSSLのデコード処理が要るみたいです。
PerlとSSLで検索すれば何か出てくるかもしれません…。
http://kt.sakura.ne.jp/~timeflow/M/
[0143] 00/09/24 17:12 Buckeye(UnTUYw5MC2c): https://へのアクセス
表題の件は、どうやったらいいんでしょうか。
@nifty IWへの接続がどうにもできないといろいろ調べているうちに、http://
ではなくhttps://なのが問題らしいと気づきました。
とりあえず、ホスト名とかの抽出ルーチンは書き換えました。その後のhttpreq
サブルーチンでエラーになります。具体的には、
last unless(connect(HTTP, pack("S n a4 x8", 2, $port ,$addr)));
で終わってしまうのです。
考えてみれば、https://にhttp://でアクセスしようとしても拒否されるのは当
然なんですが……どうしたらいいんでしょうか。
Best Regards,
Buckeye
[0142] 00/09/10 07:06 夏賀 博(ks4oZMAFszU): Re:141)RE: Perl入門のサンプルファイル
こんにちは、夏賀です。
回答ありがとうございます。無事、サンプルファイルをダウンロード出来ました。サンプルを参考に、過去の連載記事をぼちぼちと読み進めています。
> でもこれ、CMLIB15.PLを分離する前ので、機能的にも古いので
>書き直した方がよさそうなんですよね…。
改訂版も含め、連載の続きをお待ちしています。
では、失礼します。
http://homepage1.nifty.com/kaga/
[0141] 00/09/08 07:30 一 五明(YMjHyfzdazU): Re:140)RE: Perl入門のサンプルファイル
>http://www.teleway.ne.jp/~timeflow/CM_SAMPL.LZH
ページ引越しに伴い
http://kt.sakura.ne.jp/~timeflow/M/CM_SAMPL.LZH
に移動しています。
でもこれ、CMLIB15.PLを分離する前ので、機能的にも古いので
書き直した方がよさそうなんですよね…。
http://kt.sakura.ne.jp/~timeflow/M/
[0140] 00/09/07 23:06 夏賀 博(elgX4rm9.sw): Perl入門のサンプルファイル
INCM掲示板の方に書き込みしたんですが、MiniBBS2000プラグインで読めない掲示板があり、SOSを出しました。
しかし、いつまでも人様の力に頼ってばかりなのもなんなので、自力でプラグインを修正出来ることを目標にこの掲示板に連載されているPerl入門を読んでがんばろうとしたのですが…。しょっぱなから躓きました(^^;NO.32の発言で出てくる下記のサンプルファイルが、リンク先が見つからずに入手出来ません。これは今どこにあるのでしょう?もし、今は無くなってしまっているのであれば、再アップしていただけませんか?
http://www.teleway.ne.jp/~timeflow/CM_SAMPL.LZH
では、よろしくお願いします。
http://homepage1.nifty.com/kaga/
[0139] 00/09/07 09:20 qq(EI1VmPkBzv6): qas
<font color="red">test</font>
[0138] 00/09/02 13:38 GETWILD'74(Qk25uvB38zc): Re:137)RE: 発言者が同じになります
>発言者がみんな同じになってしまいます。
>おそらくその巡回時の、最も新しい発言者の名前になっているようです。
たぶんINCM掲示板のほうで指摘されたのと同じかと思います。
修正版をアップしたので、それで試してみて頂けますか。
http://www07.u-page.so-net.ne.jp/yd5/march-o/
[次のページ]