|
>>1834 taka > >(1) snd ドライバの使用。 > 「4.3-RELESEからsndドライバは使用されない」とおっしゃっていたので > 将来性を考えて(?)pcmドライバのみ試してみました。 ええ、出来ればその方が良いのですが、しかし、鳴らないものを使っても いまの taka さんの needs にはあわないだろうということで、 snd ドライバをお勧めしたのです。 しかし、最初は設定ファイルのレベルだと思ったので、 お節介をしたのですが、 まったく役に立たず、時間ばかりとってしまいました。 申し訳ありませんです。 |
|
>>1841 ふくし ($dummy, $dummy, $dummy, $num1, $num2) = (0,1,2,3,4,5); と、一度に複数回 $dummy を使えば used only once: possible typo の warning は抑止できます。あと、 ($num1, $num2, $num3) = (split(/ /))[1,5,7]; という手もありますが、可読性が低下しますね。 本質的には 「1番目と5番めと7番目を使いたい」という 使い方をせずに $foo = $o->getFoo; $bar = $o->getBar; $baz = $o->getBaz; などと書くように努めるべきだと思いますが、全ての場面で それができるわけでもなく、悩ましい限りです。 |
|
はじめまして。 いきなりですが、 >これを言われないような /dev/nul みたいな変数ってないんでしょうか。 (undef, undef, undef, $num1, $num2)=(0,1,2,3,4); こんなのでどうですか? |
|
>>1841 ふくし >>1843 68user >>1844 ふじ つぎのようにすれば文句をいわれませんでした。 #!/usr/bin/perl -w my ($login, $pass, $uid, $gid) = getpwnam('root'); print "$login:(password):$uid:$gid\n"; exit; my をとったものと、較べてください。 ちなみに動作環境は perl 5.00503 ないしは perl 5.6.0 です。 |
|
>>1845 rosegarden この他にも #!/usr/bin/perl -w use vars qw($login $pass $uid $gid); ($login, $pass, $uid, $gid) = getpwnam('root'); print "$login:(password):$uid:$gid\n"; exit; などと、use vars で宣言しておけば文句を言われないようです。 詳しくは、perldoc vars してみてください。 |
|
にゃるほど、 ふじさん> リスト要素にすれば undef を左辺に持っていけるんですね。 undef = 3; だと怒られますけどね。(当たり前) これは言いたいことを強烈に表現できているような気がします。 rosegarden さん> my や use vars を使った方法もいいですね。 この問題がよく出てくるのはファイルの stat を受けるときなんですが、 こういう意味のある変数のときは変数名をつけておいて使わない (そのうち使うかもしれないので) というのが便利なので、使わせていただきます。 みなさんどうもありがとうございました。勉強になるー |
|
いつも拝見しながら勉強させていただいています。 Perlを使ったソケット通信について質問があります。 HTTPSサーバに対してのソケット通信です。 http://X68000.startshop.co.jp/~68user/net/http-2.html にあるように、通常のソケット通信はできたのですが、 相手がHTTPSになるとヘッダの都合か、まったくうまくいきません。 たとえば、 自分のサーバ →POST→ 相手のCGIのあるサーバ(https) ↓ ブラウザ上にデータを表示 ← 相手が出力したデータを取得 このようなイメージです。 通常のHTTPでのソケット通信の場合、出力するヘッダは、 "POST /sample.cgi HTTP/1.0\r\n" "\r\n(空行)" "(POSTで送信するデータ群)" このような感じだと思うのですが、HTTPS相手だと まったく受け付けてくれません・・・。 これってSSLを相手が利用している以上、不可能なことなのでしょうか? 皆様の知識と知恵を貸してください、お願いします。 |
|
>>1848 d-jiro > このような感じだと思うのですが、HTTPS相手だと > まったく受け付けてくれません・・・。 としたいなら、自前で相手サーバのポート 443 (https の ポート番号) に繋げて、自前でデータを暗号化してから ソケットに送り、受け取ったデータは復号化する必要が あります。これを全部やるのはとてもとても面倒なので、 モジュールを使いましょう。 まず、OpenSSL (http://www.openssl.org) をインストール してください。で、 http://www.cpan.org/modules/by-module/Net/ から Crypt-SSLeay モジュールを入れて下さい。これは LWP を 使うことを前提としたもののようです。 あるいは、Crypt-SSLeay モジュールの代わりに Net::SSLeay というモジュールもあり、socket like に使えますが、現在は 保守されていないのかもしれません。 # http://www.cpan.org/modules/by-module/Net/Crypt-SSLeay-0.23.readme # http://www.cpan.org/modules/by-module/Net/Net_SSLeay.pm-1.05.readme なお、どちらも使ったことがないので、上に書いたことは 全て想像です。成功したか失敗したか結果を教えて下さい。 >>1844 ふじ そうか、undef っちゅうのがありましたね…。 >>1846 rosegarden これとは逆に、use vars すると warning が出なくなって 困ったことがあります (そのときは warning を出してほしかった)。 |
|
whoisのプログラムをプログラムソースを探しているのですが、 どちらにあるかご存知ありませんか? できればperlがいいのですが。 よろしくお願いいたします。 |
|
>>1850 whoisおしえてください > whoisのプログラムをプログラムソースを探しているのですが、 perl 版 http://ring.asahi-net.or.jp/pub/lang/perl/CPAN/authors/id/D/DH/DHUDES/ ついでに C言語版 (FreeBSD の whois。最近のは IPv6 化されています) http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/usr.bin/whois/whois.c whois プロトコル http://ring.asahi-net.or.jp/pub/doc/RFC/rfc1834.txt てなところでしょうか。 |
|
>>1849 68user >http://www.cpan.org/modules/by-module/Net/ >から Crypt-SSLeay モジュールを入れて下さい。これは LWP を >使うことを前提としたもののようです。 こちらの方法で試してみることにします。 おそらく数日後に結果が報告できると思います。 つまづきながらですが、また質問させていただくかもしれません。 ありがとうございました。 |
|
こんばんは、現在検索エンジンを作成中ですが、キーワード入力の所で いきなりつまずいています。 良く検索エンジン(goo,infoseek)等で検索文字を複数キーワード入力 し、キーワード間はスペースもしくは”|”パイプで区切る事をします。 単一キーワードは簡単に出来るのですが、このスペース区切りで 複数キーワードを引数にする方法がわかりませんが、宜しければお教え いただけないでしょうか? |
|
先日HTTPS接続のことで質問したものです。 HTTPS相手のPOSTでのCGI接続は、 Crypt-SSLeayモジュールを導入し、 LWPを使うことで解決しました。 部分的な引用でわかりにくいかもしれませんが、 $req = HTTP::Request->new( POST => "$url" ); $req->content_type('text/plain'); $req->content('$postdata'); とすることで、HTTPSだと意識することなく レスポンスをもらうことができました。 本当にありがとうございました。 |
|
>>1854 d-jiro > HTTPS相手のPOSTでのCGI接続は、Crypt-SSLeayモジュールを導入し、 > LWPを使うことで解決しました。 それはよかった。こちらの環境でも試してみましたが、 うまくいったようです。 >>1853 PHP > 一キーワードは簡単に出来るのですが、このスペース区切りで > 複数キーワードを引数にする方法がわかりません 複数キーワードに分割というのは $keyword = 'foo bar baz'; @keywords = split(/\s+/, $keyword); といったことですか? あるいは、複数のキーワードで検索するという ことですか? 後者ならば http://wakusei.cplaza.ne.jp/twn/wwwsrch.htm というのが参考になるかもしれません。 この CGI スクリプトは素直な書き方になっていますが、サーバへの 負荷はかなりのもので、実用には向きません。 最初のとっかかりとして、参考程度にとどめておくのがいいでしょう。 高速化のヒントは eval です。 |
|
http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?howtouse に ・環境はできるだけ詳しく ・マルチポスト禁止 ・回答をもらったら結果を報告する という注意点を追加しました。この場でいちいち注意したくはないので、 質問する前に是非ご一読下さい。 また、各メッセージの「No.1504 # 68user」などという表示の「#」を クリックすると、 http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1500-1600#1504 というリンクに飛ぶようにしました。 # 更新履歴: # http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/wwwboard.cgi やはり設計が甘かったようで、この掲示板に美しく機能拡張するのは もう無理みたいです。スクラッチから書き直したいけど、きれいに 書ける自信がない…。 |
|
初めて書き込みをします。 早速ですが質問があります。 現在osをredhat6.2Jでsendmail8-9-3を使いメールサーバーを構築中です。 そこでcgiを使いメールを発信させると受信したメールのヘッダーのRecievedの部分の Fromがnobody@localhostとなってしまいます。。 こちらとしてはホストのアドレスを載せたいのですが・・・。 cgiは、 #! /usr/bin/perl $toname = 'xxx@aaa.bbb'; $fromname = 'yyy@ccc.ddd'; open(MAIL, "| /usr/lib/sendmail -t -i -f yyy") || die; print MAIL "from:$fromname\n"; print MAIL "to:$toname\n"; print MAIL "Subject: TEST\n"; print MAIL "Content-Type: text/plain;\n\n"; print MAIL "TEST\n"; close(MAIL); print "Content-type: text/html\n\n"; print <<END_OF_DATA; <HTML> <BODY>SendMail $err</BODY></HTML> END_OF_DATA exit; fromで指定したほうがもちろんサーバー側で,toで指定した方がクライアント側です。 sendmail.cfの編集にはsendmail.defを使っています。 はたしてcgiが悪いのかsendmailの設定がまずいのでしょうか? sendmail.defの設定がまずいなら一体どこを変えればいいのか。 ご教授の程をお願いいたします。 |
|
>>1857 ケンMK2 > Fromがnobody@localhostとなってしまいます。。 これってやっぱりまずいのかなぁ? Received に名前解決不可能な サーバ名が書いてあるメールって結構ありますよね。でも、それは ファイアウォールの中からだから許されるのかな。さすがに localhost はまずいかもしれない。 sendmail をまともに管理したことがないため正しい解決策はわかり ませんが、手元にある sendmail.def (sendmail-v8.def をいじった もの) には、 OFFICIAL_NAME='foo.bar.com' とあります。その他は特に設定していません。それを元に生成した /etc/sendmail.cf には Djfoo.bar.com と書いてあります。 Dj(サーバの FQDN) ですね。 あと、ユーザ名が nobody になるのもどうなんでしょうねぇ。 他の行に envelope from yyy などと -f で指定したユーザ名が 書いてあると思うので、それはそれでよいような気もするんですが…。 ちなみに手元の環境でも envelope from nobody となりますが、 僕がいいかげんに管理している sendmail なので、正しいか どうかはかなり怪しいです。 |