【Perl】初心者コーナーPart11

このエントリーをはてなブックマークに追加
935903:02/04/26 23:24 ID:???
すみません、聞き方が悪かったみたいです。

system("/usr/local/bin/gpg -r D44EC5AA -o bbbb -ea aaaa");

とやると、エラーはでてきませんが、bbbbファイルが作成されません、
GnuPGはサーバーの/usr/local/bin/gpgにインストールされてますので、
telnet上の操作では、暗号化ファイルbbbbは問題なく作成されます。
問題は違うとこにあるのでしょうか?

元々やりたかったことは、フォームメールに入力されたデータを
暗号化されたメールとして受け取りたいということです。
解説ページなんてたくさんあるだろうと思って、暗号、PGP、GPG、GnuPG、フォーム、
他にもいろいろ検索ワードを試しましたが、それらしいページが見つかりません。

ひとつだけみつけましたがPHPでした。
http://www.hotwired.co.jp/webmonkey/2000/20/index3a.html

もし対処法や解説ページがありましたら、よろしくお願いいたします。
936nobodyさん:02/04/27 00:25 ID:???
>>930
@{$restree{$log}}がなんだかはシランが、ツリー掲示板なら
ログがあるはずだから、そのログを精査して子記事のあるものに
フラッグつけろ。
で、whileかかってる記事番号の処理の中でフラッグがあれば
そいつの下に線をたらせばいんじゃないかい?
937nobodyさん:02/04/27 00:30 ID:???
>>935
system()後の $? はどうなってる?
938nobodyさん:02/04/27 00:33 ID:???
>>932
汚いだなんだ言う前に手本の一つでも見せろや?暇なのか?
939nobodyさん:02/04/27 01:15 ID:pZywQtFX
perlでDOMを扱えるんでしょうか?
ともかく分からないので、質問自体が間違ってるかもしれませんが。
940nobodyさん:02/04/27 01:23 ID:???
perlでZAKUを扱えるんでしょうか?
ともかく分からないので、質問自体が間違ってるかもしれませんが。
941nobodyさん:02/04/27 01:42 ID:???
とりあえず>>930は変数の意味を教えてくれ。(まだ見ているなら)
でないとさすがにわからんと思うぞ。
942nobodyさん:02/04/27 02:03 ID:???
>>939
XML::DOM、XML::LibXML、XML::GDOMEなどなど。XML関係は腐るほどあるけど。
思うに一般のプロバイダーのサーバーではインストールされていないかと。

>>940
おもろい。
943903:02/04/27 02:09 ID:???
>937

$?の中は512となってますが。

できあいのCGIを設置したり、ちょびっと変えるぐらいしか
やったことない身には、さっぱりわかんないです。
944nobodyさん:02/04/27 02:31 ID:???
>>943
CGIからファイル作れるように、ディレクトリのパーミッションちゃんと開けてる?
945nobodyさん:02/04/27 02:44 ID:???
>>939
だうんろーど おんりー めんばー?
Perlで人を扱うことはできません
946nobodyさん:02/04/27 02:53 ID:???
>>942
モジュールも鯖にあげてパス通す、というのは出来ない?知らんけど。
#/usr/bin/perl -I~/cgi-bin/
みたいのを1行目にするとか。
947903:02/04/27 02:59 ID:???
>944

パーミッションは問題ないはずなんですが、、、
全開放で試してもダメでした。

海外のページを探してみたら、GPG対応のフォームメールが
いくつか見つかりました。これを改造して使えないかなと中を見てるとこです。
日本語の解説ページもたくさんありそうなもんですがねぇ、
関連ワードで国内を検索しても、ショッピングサイトしかでてこないです。
948944:02/04/27 03:22 ID:???
>>947
スクリプトが、そのsystem()の行まで辿りつく前にエラーになってる可能性は
ないかな?
実行パーミッションがついてないとか、perlのpathが間違ってるとか。
あと、telnetでログインしたときと、CGIで叩いた時の $PATH が
違うという可能性か、入力ファイルが実は無かったとか。うーむ。
推測だらけですまん。
949903:02/04/27 03:43 ID:???
>948
親切なレスありがとうございます。
pathは間違ってないですねぇ、、、ファイルも存在してます。
実行パーミッションもついてます。う〜ん??
簡単なテストで、こんなのやってみました。

#!/usr/local/bin/perl

system("/usr/local/bin/gpg -r D44ECAAA -o bbbb -ea aaaa");
print "Content-type: text/html\n\n";
print "<HTML><BODY>\n";
print "暗号化終了<BR>";
print "</BODY></HTML>\n";
exit;

エラーはでないですが、bbbbファイルが作られません、
絶対パスでファイルを指定してもダメ。
すごい初歩的な思い違いをしてるような気もしますが、、、。
950944:02/04/27 03:59 ID:???
>>949
つーことは、なんとなーくgpgの実行時にエラーが出てる予感。
print "Content-type: text/html\n\n";
print `/usr/local/bin/gpg -r D44ECAAA -o bbbb -ea aaaa`;
てな感じで、エラー表示されないかなぁ
951903:02/04/27 04:39 ID:???
>944
こんな時間までお付き合いいただいて恐縮です。

やってみましたが空白ページでした、は〜ぁ。
試しに自分のPCにGPG、AN HTTP、ActivePerlを入れてテストしたら
無事に暗号化ファイルが作られました。

う〜ん、何なんでしょ?
関係のあるファイル、ディレクトリを
777にしちゃいましたが動かないし。
952nobodyさん:02/04/27 04:40 ID:???
>>946
でもXML::DOMもXML::LibXMLもXML::GDOMEもCライブラリが必要でしょ
(expat,libxml2)?なんかそこまでするのもなぁ、と。できないことは
なかろうが。
953nobodyさん:02/04/27 04:48 ID:o5qoi2dC
例えば5*1.3を実行すると6.5になりますよね?
この少数点以下を切り捨てにしたい場合はどうすればいいんでしょうか?
954nobodyさん:02/04/27 04:52 ID:???
perldoc -f int
perldoc -f sprintf

my $foo = sprintf( '%d', 5 * 1.3 );
955nobodyさん:02/04/27 05:27 ID:???
>>953
>954とかuse integer;とか
956903:02/04/27 08:02 ID:???
>944

問題はGPGの環境変数の設定にあったようです、
$ENVで設定すればOKでした。
お付き合いいただいて、本当にありがとうございました。
957Atsuhi ◆UvChluUE :02/04/27 10:08 ID:vZVa5O3I
<FORM action="test.cgi" method=POST>
<input type=text name=2ch></form>

GETorPOSTフォームから送信された内容を、CGI側の変数$in{'2ch'}に格納するにはどうしたらいいんでしょう。
958nobodyさん:02/04/27 10:52 ID:???
959Atsuhi:02/04/27 15:38 ID:2uDiaJDy
>>958
その方法試しましたが、
なぜか、フォームから送信された内容を処理できません。
cgi-lib.plも使いたくないです
960nobodyさん:02/04/27 15:48 ID:???
>>959
配布されてる掲示板スクリプトのフォームから受け取ったデータを
処理してるとこみてみ。
961nobodyさん:02/04/27 16:06 ID:???
%in = map{
    tr/+/ /;
    s/%(..)/pack"H2",$1/eg;
    s/</&lt;/g;
    s/>/&gt;/g;
    s/"/&quot;/g;
    $_
} split/[&=]/, do{
    uc $ENV{REQUEST_METHOD} eq 'POST'
    ? do{ read STDIN, $_, $ENV{CONTENT_LENGTH}; $_}
    : $ENV{QUERY_STRING};
962nobodyさん:02/04/27 16:07 ID:???
>>961
おっと、中閉じカッコを一個忘れちまったい。
963nobodyさん:02/04/27 16:23 ID:AgrfpFbJ
フォームでurlを受け取って、そのurlにredirectしようと考えたのですが、
その際にrefererを空にしたいと考えてます。なぜだか。

何かよい方法ありませんか?
964nobodyさん:02/04/27 16:34 ID:???
>>963
metaタグのRefresh使え

つか過去ログ嫁
965nobodyさん:02/04/27 16:38 ID:AgrfpFbJ
>>964
すみません。反省します。
966nobodyさん:02/04/27 19:52 ID:???
Dream★ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ぐんじp
967nobodyさん:02/04/27 21:53 ID:sDcizlcB
どっかのサイトのhtmlファイル等を保存するスクリプトを作りたいのですが。
どーやりますか?
968nobodyさん:02/04/27 22:18 ID:???
>>967
ソケット使うんじゃないの
969nobodyさん:02/04/27 22:22 ID:sDcizlcB
>>968
マジカヨ!!ソケットって何??逝ってきます
970nobodyさん:02/04/27 22:28 ID:???
>969 LWP::Simple
971nobodyさん:02/04/27 22:40 ID:sDcizlcB
>>970
???
972nobodyさん:02/04/27 22:47 ID:???
自分で調べる気がない人には無理です。
973nobodyさん:02/04/27 22:50 ID:sDcizlcB
>>972
すこし分かりました。
できそうです。
974nobodyさん:02/04/27 22:56 ID:???
>971 #ゴルァ!ちったぁ自分で調べんかい!
#/usr/bin/perl
use LWP::Simple;
$url='www.somewhere.com/index.html'
$file='local.html'
LWP::Simple::mirror( $url, $file );
975nobodyさん:02/04/27 23:04 ID:M0a39fTI
掲示板に書き込んだとき、投稿者のHPへ自動的にリンクする事が出来ますよね。
あの事でお聞きしたい事があるんですが、このスレで聞いても良いんでしょうか?

htmlだけじゃなく、cgiなどの方も関係してるのでこのスレが妥当だと思うんですが、
一応確認したくて。
976nobodyさん:02/04/27 23:08 ID:???
>>975
質問の内容によるかと。
っていうか最初から質問かけYO!スレが無駄に消費される。
977nobodyさん:02/04/27 23:08 ID:???
>>975
何でしょう?
978nobodyさん:02/04/27 23:09 ID:???
そろそろ誰か次スレ立てて。
979975:02/04/27 23:17 ID:M0a39fTI
>>976
すみません、無駄にしてしまいました。
どうせなので、私が次スレ立てさせて頂きますね。
980nobodyさん:02/04/27 23:17 ID:???
テンプレ>>1-4以外に何かつけたすものあるかな
981nobodyさん:02/04/27 23:18 ID:???
982nobodyさん:02/04/27 23:19 ID:???
あ、もう立ったか。

【Perl】初心者コーナー Part12
http://pc.2ch.net/test/read.cgi/php/1019917048/
983975:02/04/27 23:21 ID:M0a39fTI
ごめん、Perl関係なかったデス。CGIダタ。
984975
sage忘れるし・・・。鬱。