1 名前:nobodyさん mailto:sage [2006/09/10(日) 13:33:48 ID:???] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 Perl使いが優しくコメントを返しますが、 お礼はPerlの布教と初心者の救済をお願いします。
848 名前:nobodyさん mailto:sage [2008/02/04(月) 00:06:37 ID:???] どのスレに移動するかを教えてくれたら、俺はついていくぞ。
849 名前:nobodyさん mailto:sage [2008/02/04(月) 12:48:01 ID:???] 10年前からperlなんか廃れるとか仕事にならないとか言われ続けてるけど いまだに仕事になってるから死ぬまではなんとかなるんじゃないかな 中小企業のWEB屋でいいならperlの仕事はあるぞ
850 名前:nobodyさん mailto:sage [2008/02/04(月) 14:03:12 ID:???] Ajax の例とかもあるしな。どうなるかは誰もわからない。
851 名前:nobodyさん [2008/02/05(火) 14:08:38 ID:ke8bjavM] phpをperlに書き換えて欲しいです。 わかる人お願いします。 <?php //パラメータの取り出し $CID = $_GET['cid']; $cc = $_GET['cc']; $SID = $_GET['sid']; $CH = $_GET['ch']; $C1 = $_GET['c1']; //パラメータ判別 /*処理*/ //処理 header("Content-Type: text/plain; charset=Shift_JIS"); print"rc=0\r\n"; print"u1=www.abc.jp/OK.php\r\n "; /*処理*/ print"c1=AAA\r\n"; print"u2=www.abc.jp/err.php\r\n "; print"END\r\n"; ?>
852 名前:nobodyさん mailto:sage [2008/02/05(火) 14:15:13 ID:???] >>851 CGI.pmつかってもいいの?
853 名前:nobodyさん [2008/02/05(火) 14:23:16 ID:ke8bjavM] <?php から ?>までをそのままperlに書き換えるのが不可能なら構わないです。
854 名前:nobodyさん mailto:sage [2008/02/05(火) 16:02:31 ID:???] www.abc.jp/
855 名前:nobodyさん mailto:sage [2008/02/05(火) 22:54:03 ID:???] use CGI; my $q = new CGI; my $cid = $q -> param( 'cid' ); 後同じ print "Content-type: text/plain; charset=Shift_JIS\n\n"; print "rc=0\n"; 後同じ
856 名前:nobodyさん mailto:sage [2008/02/05(火) 23:10:03 ID:???] Perlの世界には $_GET['cid']; とか $_POST['cid']; とかないからね。 受け取った文字列を & で split して、さらに = で split して。という 処理から始まる。 CGI.pm使わないと同じような構文にはならないだろうね。
857 名前:nobodyさん [2008/02/05(火) 23:13:32 ID:LtG8FBU3] windows xpで、perlからwindowsのアプリケーション(例えば 電卓のcalc.exe)を終了させるにはどうやればいいですか? perlに関する知識はttp://www.rfs.jp/sb/perl/こちらのサイト を読み終えたくらいです。
858 名前:nobodyさん mailto:sage [2008/02/05(火) 23:23:42 ID:???] Perlでそんなこと出来るの?
859 名前:nobodyさん mailto:sage [2008/02/05(火) 23:37:33 ID:???] WindowsAPI使えば、プロセスの終了とかできるかも
860 名前:857 [2008/02/05(火) 23:49:41 ID:LtG8FBU3] >>857 です。 >>858 返信ありがとうございます。windowsプログラミングについてもさっぱりなんですが >>859 さんのおっしゃるようにwin32api系のものを使えば出来そうな気がしたんですが。 linuxとかだとsystem(kill〜って感じでそのまま出来るんですかね。 >>859 返信ありがとうございます。 プロセスの終了も良く分かってないんですが、その辺の仕組みを僕くらいの低レベルでも わかるように紹介されてるページとかご存知でしたらご紹介頂けたら幸いです。
861 名前:nobodyさん mailto:sage [2008/02/06(水) 00:20:44 ID:???] 残念ながらそれはwebprog板では板違いなのだ。
862 名前:nobodyさん mailto:sage [2008/02/06(水) 10:22:36 ID:???] Kent CGI.pm Mason Sledge Catalyst Jifty Reaction 間にいろいろハサんで欲すぃ
863 名前:nobodyさん mailto:sage [2008/02/06(水) 10:35:41 ID:???] おっとCGI::Applicationを忘れていた Kent CGI.pm CGI::Application Mason Sledge Gantry Catalyst Jifty Reaction
864 名前:nobodyさん mailto:sage [2008/02/06(水) 11:59:40 ID:???] system "taskkill /im calc.exe";
865 名前:nobodyさん mailto:sage [2008/02/06(水) 16:07:31 ID:???] ん?しりとりでもやりたいのか?w
866 名前:nobodyさん [2008/02/06(水) 17:39:26 ID:z242xw4+] すいません、質問お願いします。 一行テキスト と テキストエリア と 送信ボタン と hiddenがいくつか のフォームを作りました。 jcode.plを通して、デコードする仕組みにしました。 テキストエリアに、600文字以下の、少ない全角文字を入力し、送信ボタンをクリックすると、 ログファイルに記載され、意図した表示になるのですが。 テキストエリアに沢山の文字(662文字以上)を入れ、送信ボタンを押しても反応しません。 perlには、フォームに入力する文字制限などがあるのでしょうか? 600文字程度ですと、使用目的では文字数が足りないので、なんとか直したいのですがどうしたらよいでしょう?
867 名前:866 [2008/02/06(水) 17:42:41 ID:z242xw4+] 追記です。 IE6だと、ボタンをクリックしても無反応なのですが。 FireFoxだと、一応書き込みができました、 しかし、やはり全角文字600文字程のところから後が切れて、ログファイルに記録されます。 また、全てが半角の数字を入力した場合には、何文字でも入力できる感じです。 宜しくお願いします。
868 名前:866 [2008/02/06(水) 17:50:10 ID:z242xw4+] すいません。訂正です。 半角数字でも、1000文字程度しか書き込みができませんでした。
869 名前:nobodyさん mailto:sage [2008/02/06(水) 17:50:25 ID:???] method="POST"
870 名前:nobodyさん mailto:sage [2008/02/06(水) 17:51:53 ID:???] enctype="multipart/form-data"
871 名前:866 [2008/02/06(水) 18:04:28 ID:z242xw4+] >>869 ,870 ありがとうございます メソッドをポストにしたら出来ました!
872 名前:nobodyさん mailto:sage [2008/02/08(金) 17:15:00 ID:???] #!/usr/local/bin/perl eval { $test=; }; print "fin" この三行スクリプトを実行するとfinが表示されずに syntax error at test.pl line 2, near "=;" Execution of test.pl aborted due to compilation errors. が表示されるのは正常なActivePerl(forWin)およびevalの振る舞いですか?
873 名前:872 [2008/02/08(金) 17:24:04 ID:ZczohSgB] 上げ忘れ。 ActivePerlのperl -vはPerl v.5.8.8 / build817です。
874 名前:872 mailto:sage [2008/02/08(金) 18:04:44 ID:???] わかた(´д`)y-~~シンタックス系のいわゆるコンパイルエラーはevalで拾えないようで、 拾えそうなイキフンで記述してあるリファレンスが誤りです。大変ありがとうございました。
875 名前:nobodyさん mailto:sage [2008/02/08(金) 18:57:59 ID:???] eval q{ $test=; }; $@
876 名前:797 mailto:sage [2008/02/14(木) 15:20:19 ID:???] おまいら解決したので報告します。 実は>>798 が教えてくれたページを参考に作ったプログラムだったのですが、そこに罠があったのです。 ファイル名をSJISにするということで、アップページの文字コードもSJISにしていたのですが、 SJISで特定の文字(表、ソ、十など)にはWindowsでパスの区切りに使う\のコードが入っているので、 その部分が区切りと解釈されて、ファイル名が切られていたのです。 そこで、アップページの文字コードをUTF8にした所、切られることなく正常動作するようになりました。 おまけ 最近遭遇し一応解決したネタを1つ。 なぜか、CGI::LiteとIE6(最近のパッチ以降?)の組み合わせで<INPUT type="file">が複数連続すると、 途中のファイル名が取得できません。ダミーで<INPUT type="hidden">を挟むと大丈夫です。
877 名前:nobodyさん mailto:sage [2008/02/14(木) 16:19:19 ID:???] おまそれはPerlの一番最初に習う、しかも新規の人は既に誰も使わな(ry >なぜか、CGI::LiteとIE6(最近のパッチ以降?)の組み合わせで<INPUT type="file">が複数連続すると、 あーわかるわかる。初心者にありがちなバグだね。 おれもHTTP拡張のバウンダリ周りで苦労した。10年ぐらい前に。
878 名前:nobodyさん [2008/02/18(月) 22:53:11 ID:b8HgX1gh] お願いします。 配列、@listの中には5つの要素が入っています。 そのなかの3つ目を削除するにはどうすれば良いですか? $list[3] = ''; だと中身が空のまま要素数は変わりません…。
879 名前:nobodyさん mailto:sage [2008/02/18(月) 23:31:32 ID:???] splice @list, 2, 1;
880 名前:878 mailto:sage [2008/02/19(火) 00:10:37 ID:???] >>879 さん、ありがとうございました。
881 名前:nobodyさん mailto:sage [2008/02/20(水) 18:43:38 ID:???] ここって超初心者の板じゃないの? モジュール関係の質問見ると引くぞ >>878 のスレ見て少しホッとしたけど
882 名前:nobodyさん mailto:sage [2008/02/20(水) 18:51:36 ID:???] 板とスレ スレとレス 間違えてるぞ
883 名前:nobodyさん [2008/02/20(水) 20:04:29 ID:AT7Ymvry] 掲示板で書き込んだ人のIPを取得するにはどうしたら良いのでしょうか? $〇〇 = $ENV{'REMOTE_ADDR'}; でIPを取得したのはわかったんですが、フォームの中に<input type=hidden name=△△ value=$○○>などで他人に書き込みさせても自分のIPが表示されてしまいます 色々ググったりしたんですが良く分かりません 優しい解説お願いします
884 名前:nobodyさん mailto:sage [2008/02/20(水) 20:25:09 ID:???] >>883 hiddenタグでやろうとしていることがいまいち分からないが、 通常は、書き込んだ時にログファイルに一緒にIPアドレスを 書き込むものなんだが。
885 名前:nobodyさん mailto:sage [2008/02/20(水) 20:30:56 ID:???] >>884 スクリプトは時刻表示とコメントだけの、一行掲示板の簡易なものです 一緒にとはどういうことなのでしょうか? ログファイルには時刻とコメントしか載りません 超初心者ですいませんm(_ _)m
886 名前:nobodyさん mailto:sage [2008/02/20(水) 20:42:58 ID:???] >>885 その、時刻とコメントを書き込むファイルに、IPアドレスも一緒に 書き込む方法があるでしょといいたいのだよ。 表示する際はそのデータは必ずしも出す必要は無いのだから。 それが嫌ならば、書き込みをしたときに内部的に別なファイルにも IPアドレスと時刻を書き込ませるようにプログラムを書けばよい。
887 名前:nobodyさん mailto:sage [2008/02/20(水) 20:55:23 ID:???] >>885 フォームにセットしなくても、書き込んだ人のIPはこれで取り出せるよ → $ENV{'REMOTE_ADDR'}
888 名前:nobodyさん mailto:sage [2008/02/20(水) 20:55:38 ID:???] >>886 IPアドレスを一緒に書き込むプログラムの書き方を知りたいんです(;∇;)/~~色々ググって、配布されてるスクリプトから該当する部分を抽出して頑張ったんですが...良く分からなかったんです、
889 名前:nobodyさん mailto:sage [2008/02/20(水) 20:57:55 ID:???] >>887 レスありがとうございますm(_ _)m それでIPは表示されるのは分かったんですが、それをどこに設置すればログに書き込んだ人のIPが表示されるかが分からないんです(;∇;)/~~
890 名前:nobodyさん mailto:sage [2008/02/20(水) 21:04:58 ID:???] >>889 open(OUT,">> log.txt"); $line = $ENV{'REMOTE_ADDR'}; print OUT $line; close(OUT);
891 名前:nobodyさん mailto:sage [2008/02/20(水) 21:07:00 ID:???] >>889 コメントの後ろにくっ付けちゃえw
892 名前:nobodyさん mailto:sage [2008/02/20(水) 21:14:53 ID:???] aska とか kent の BBS にはログにIPアドレスを記録するコードは あったはずだが。 それらを読んでも分からないのであれば、何処かに君が書いたソースを うpしてここに貼りなさい。気分が向いたら改変してやるからw
893 名前:nobodyさん mailto:sage [2008/02/20(水) 22:19:30 ID:???] 先程はありがとうございましたo(^-^)oおかげさまで解決しましたw もう一つ質問させて下さいm(_ _)m ($sec,$min,$hour,$day,$mon,$year,$wday) = localtime(time); $week = $weekday[$wday]; $mon++; $date = "$mon月 $day日 $hour:$min"; という時刻表示のスクリプト(年が無駄にあるのは気にしないで下さいw)を使ってる?んですが、$minの所だけを1ケタの秒の時だけ01や02みたいに0を先頭に付けたいのですが、どのようにすれば良いのでしょうか? ちなみに 2月20日 22:04 というような事です!
894 名前:nobodyさん mailto:sage [2008/02/20(水) 22:24:58 ID:???] >>893 printf使うとか。 また、例のごとくそれの使い方が分からないということであれば、 以下のコードを付け加える。 if($min>9){ $min = "0" . $min; }
895 名前:nobodyさん mailto:sage [2008/02/20(水) 22:40:01 ID:???] $ENV{'TZ'} = "JST-9"; ($sec,$min,$hour,$mday,$mon,$year,$wday,$d,$d) = localtime; $date = sprintf("%04d/%02d/%02d(%s) %02d:%02d:%02d", $year+1900, $mon+1, $mday, ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')[$wday], $hour, $min, $sec); print $date;
896 名前:nobodyさん mailto:sage [2008/02/20(水) 22:48:10 ID:???] >>893 これはどうなの? $date = sprintf("%2d月%2d日 %2d:%02d",$mon,$day,$hour,$min); print $date;
897 名前:nobodyさん mailto:sage [2008/02/20(水) 22:53:59 ID:???] >>895 $dは無くても良いぞ。 どうしても書きたいなら、undefにすべし それと、 my( $year, $month, $day, $hour, $min, $sec, $wday ) = ( localtime() )[5,4,3,2,1,0]; って言うのを覚えると見た目に麗しい
898 名前:nobodyさん mailto:sage [2008/02/20(水) 23:05:01 ID:???] perlは配列の要素が足りなければ 足りない分の後ろの要素は無視されるから 必要なければ書かなくてよろし
899 名前:895 mailto:sage [2008/02/20(水) 23:06:42 ID:???] >>894 が正常に動かない気がして5年も前に書いたやつ貼っただけだから
900 名前:nobodyさん mailto:sage [2008/02/20(水) 23:12:33 ID:???] 下らない質問に親切に答えていただいて本当にありがとうございました! 23:06 とかできました(゜∀゜;ノ)ノ また何かあったらよろしくお願いします!(b^ー°)
901 名前:nobodyさん mailto:sage [2008/02/20(水) 23:34:16 ID:???] もう2度と来るな
902 名前:nobodyさん mailto:sage [2008/02/21(木) 03:45:40 ID:???] >>897 $wday いらね
903 名前:nobodyさん mailto:sage [2008/02/21(木) 09:53:00 ID:???] >>902 あぁ、ほんとだ。
904 名前:nobodyさん [2008/02/21(木) 16:13:36 ID:VlnHmaCl] 掲示板で [3]内容 [2]内容 [1]内容 みたいにレス番号を付けるにはどうしたら良いのでしょうか?
905 名前:nobodyさん mailto:sage [2008/02/21(木) 16:50:55 ID:???] おまえ>>883 だろ。 全部聞きに来るなら一から勉強しろよ。
906 名前:nobodyさん mailto:sage [2008/02/21(木) 17:10:04 ID:???] >>904 お前の質問の仕方は抽象杉でわけわかんねえんだよ。 質問したければお前が書いたコードをうpれ。話はそれからだ。
907 名前:nobodyさん mailto:sage [2008/02/21(木) 17:42:47 ID:???] 自分なりに勉強してやってみたんですが分からなかったので質問しに来ました まあもう良いです
908 名前:nobodyさん mailto:sage [2008/02/21(木) 18:09:09 ID:???] >>904 全データ読み込んで、内容の数を数えて、 ・ 一番上の内容を表示する前に数えた数を ・ 次の内容を表示する前に(数えた数-1)を と出していけばいんじゃね? データフォーマットも表示部分のソースも無いんじゃ エスパーでもないかぎり(ry
909 名前:nobodyさん mailto:sage [2008/02/21(木) 18:17:46 ID:???] 「出来ないやつ」の典型的なパターンだなw ・自分なりの勉強したはずなのに「本当に調べたの?」といいたくなる程度であるところ。 ・「もう良いです。」とすぐにさじをなげるところ。 もう良いというのならば、このままPerlも辞めた方がいいぞ。道はいくらでもあるんだから。
910 名前:nobodyさん mailto:sage [2008/02/21(木) 21:37:27 ID:???] ちょっと直したい時に全部調べるのがカッタルイってのはすげーよくわかるよ。 おれも子供の頃「関数内から抜けるコマンド何だっけ?」と電話で聞いたことある。あれは助かった。 でも何カ所も直したり、まして新規でBBSを作るなら、オマエそれ全部おれに書かせるのかって。
911 名前:nobodyさん mailto:sage [2008/02/21(木) 23:40:01 ID:???] 数年前はぐぐるにしても、日本語サイトが少ないからある程度英語が読めないと 駄目だったとか、検索エンジンの使い方のコツをある程度体得しておかなければ 目的のコンテンツにたどり着けなかったりしたから、その気持ちは分かる。 Perlのサンプルソースを手に入れる時、検索を使うよりも、2chの専用スレの テンプレのURL一覧を見た方が早いなと感じた場合もあった。 だけど、今は大分検索エンジンの使い勝手も良くなり、目的のものがヒット しやすくなった。Perlのこの程度の事なら日本語だけでも大丈夫だしね。 この状況で、このレベルのことが分からないなら、もう無理だと思う。
912 名前:nobodyさん mailto:sage [2008/02/21(木) 23:46:33 ID:???] ラリーもあきれ顔です ttp://upload.wikimedia.org/wikipedia/commons/b/b3/Larry_Wall_YAPC_2007.jpg
913 名前:nobodyさん mailto:sage [2008/02/22(金) 07:19:54 ID:???] 一つの発言に対してこれ程執着するとは(^w^) ここがどれだけ過疎ってるかを表してますね
914 名前:nobodyさん mailto:sage [2008/02/22(金) 07:55:30 ID:???] よし、じゃPHPのくだすれと統合するか?w
915 名前:910 mailto:sage [2008/02/22(金) 10:59:13 ID:???] >>911 っつーかググレが一番要らない。何でもググレばわかる筈だよ。理論上。 「これどうやるの?」「正規表現」みたいな一行レスもググレと同じで意味が無い。 ググレ言っていいのは通常スレ内だけで、こういうスレは隔離用だから、答えたい人 だけが見て、答えたくない人は見なければいい。教えてgooと同じ。たとえば 「C 関数 戻る」 で検索すると、return()はなかなか出て来ない。だからといって普段Tcl/Tk専門で やってるSUNの社員に、一時的な知識のために参考書を買わせるのも無駄が多い。 ただ全部は聞きに来るなよって。
916 名前:nobodyさん mailto:sage [2008/02/22(金) 11:35:20 ID:???] レスの内容が「ググレカス」と「正規表現」とは大きく違うと思うが。 後者は、情報にたどり着くまでの手助けを十分にしているといえる。 ひろゆきも、この簡潔な回答が出来るのは、2chの特徴であり、 他のサイトのくだらない挨拶をしなければならないところとの 大きな違いだといってたぞ。
917 名前:nobodyさん mailto:sage [2008/02/22(金) 11:40:32 ID:???] 質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドなのに 正規表現で分かるのかよw
918 名前:nobodyさん mailto:sage [2008/02/22(金) 12:38:27 ID:???] まぁ時間と金をかけて勉強すりゃわかるだろうけど、当面の一つの目的さえ達成できれば、 あとはPerlなんて一生触りたくない層が最も多い。つまり言語がPerlなのはあるツールが 元々Perlで書かれていたからで、欲しいのはINとOUTのデータだけ。 こういう層に正規表現をわざわざ勉強させる必要は無いし、あればとっくにやってる。 そういうわけで具体的に一連の処理を書くことが望ましい。べつに10秒で書けるんだから。 また追加モジュールの紹介も価値が低い。モジュールのインスコが一番難しいんだから。 rootが必要だし、客先のネットワークによって無保証のモジュールの導入を禁止されている。 必ずしも導入できなくはないが、自社でアップデート対応を保証しなくてはならない。
919 名前:nobodyさん mailto:sage [2008/02/22(金) 13:47:46 ID:???] ぬるぽ
920 名前:nobodyさん mailto:sage [2008/02/22(金) 14:15:30 ID:???] >>919 ガッ!
921 名前:nobodyさん mailto:sage [2008/02/22(金) 16:15:50 ID:???] >>918 元のソフトがPerlで書かれててPerlなんか一生触りたくないなら、 INなりOUTなりを使い慣れたプログラム言語で作ったフィルタで修正すりゃいいだろ。 一生触りたくないプログラム言語で書かれたソフトのメンテなんて断ればいい。 「どうしても」と言われたら使い慣れたプログラム言語に移植する方向で交渉すればいい。 くだすれで質問した答えを意味も分からずコピペしたソフトを使わされる顧客は悲惨だな。 よほどCPANのモジュールぶちこんでもらった方が安心できるとオモワレ。 モジュールのインストールってそんなに難しいか? インストール先を自分の権限範囲にすればroot権限いらないモジュールも多いと思うが? ああ、>>918 みたいなクレクレ厨じゃ英語のメッセージは読めないんだな。納得。
922 名前:nobodyさん mailto:sage [2008/02/22(金) 20:36:06 ID:???] 「思うが」は典型的なバカの言葉だからあんま相手したくないけど、もう少し具体的に 言えば、配布されているCGI-Perlスクリプトを少し直して使いたい人が非常に多い。 こういう層に向かって「勉強しろ」はありえない。 その人はそこで節約した時間を社会奉仕にあてるかもしれない。 Perlはおれの方が少し詳しいかもしれないけど、Perl知ってりゃ偉いわけじゃなし。 ググレとかモジュールのご紹介とかアホを晒す暇があったら処理を書けばいいし、 それが出来ない奴は消えりゃいい。
923 名前:nobodyさん mailto:sage [2008/02/22(金) 20:39:07 ID:???] ああそうそう。こういうスレでググレだのLWPだのほざいてる奴は ソープランドでセックスしながら説教してるバカオヤジと同じだよ。 普通相手の人生なんて関係ないし興味もないよ。出た問いに答えればいい。 そういうスレなんだから。
924 名前:nobodyさん [2008/02/22(金) 20:47:34 ID:8Vusg7lr] ソープランドでセックスしながら説教してる奴なんていねーよwwwww
925 名前:nobodyさん mailto:sage [2008/02/22(金) 20:48:52 ID:???] くだすれで顧客とか言ってる奴って何なの?
926 名前:nobodyさん mailto:sage [2008/02/22(金) 21:26:16 ID:???] >925 くだすれで顧客とか言ってる奴=>918と>921で桶? >918 >客先のネットワークによって無保証のモジュールの導入を禁止されている。 >921 >くだすれで質問した答えを意味も分からずコピペしたソフトを使わされる顧客は悲惨だな。 どっちにしろ最初に客先とか言い出した>918がアフォだと思うが。
927 名前:nobodyさん mailto:sage [2008/02/22(金) 21:28:15 ID:???] >918 >921 >922 どこを縦読み?
928 名前:nobodyさん mailto:sage [2008/02/22(金) 21:40:20 ID:???] Perlの質問マダァー?
929 名前:nobodyさん mailto:sage [2008/02/23(土) 02:02:05 ID:???] > その人はそこで節約した時間を社会奉仕にあてるかもしれない。 何で話の流れとは関係の無い仮定の話が出てきてるの?w
930 名前:nobodyさん mailto:sage [2008/02/23(土) 02:07:11 ID:???] ま、Perl関連はまったりとしてきているので、統合もいいと思う。 例えばこっちと一緒にするとか。 Perlコーディング初心者質問スレ Part 56 pc11.2ch.net/test/read.cgi/php/1189939783/
931 名前:nobodyさん [2008/02/23(土) 03:04:09 ID:mggQq9GV] >>928 掲示板にレス番号を付けるにはどのようにすれば良いのでしょうか? 3.内容 2.内容 1.内容 みたいにして行きたいのですが...具体的に教えて下さい
932 名前:nobodyさん mailto:sag [2008/02/23(土) 03:27:22 ID:???] >>931 お前の書いたソースを出せと言っただろうが
933 名前:nobodyさん mailto:sage [2008/02/23(土) 03:31:09 ID:???] 『詭弁のガイドライン』 より、引用 5. 資料を示さず持論が支持されていると思わせる 例:(世界では、犬は哺乳類ではないという見方が一般的だ)
934 名前:921 mailto:sage [2008/02/23(土) 16:43:38 ID:???] >>922 >配布されているCGI-Perlスクリプトを少し直して使いたい人が非常に多い。 >こういう層に向かって「勉強しろ」はありえない。 スクリプト直すのに、意味も分からずコピペして直すのか。すげえな。 「客先の」とか言ってるって事は、それを金取って(もしくは客へのサービスとして)提供するわけだろ? 拾ってきたスクリプトに掲示板で質問してコピペで手直し加えて金儲けとか、せこすぎる。 そんなもん外注に出せよ。
935 名前:nobodyさん mailto:sage [2008/02/23(土) 16:44:46 ID:???] >>931 >908
936 名前:nobodyさん [2008/02/24(日) 03:14:09 ID:G7lDCCAr] >>932 nurupo.biz さんのdownloadの簡易コメントって奴です [2/24] 内容 みたいになるのを [2/24]3.内容 [2/24]2.内容 [2/24]1.内容 みたいにしたいんです
937 名前:nobodyさん mailto:sage [2008/02/24(日) 06:46:40 ID:???] >>936 ダウソしてソース見た。分かった事は下記の通り。 ・ データファイルには 日付<TAB>内容 が1件1行で入っていて、レス番は入ってない ・ 最大記事数を超えた分はデータファイルから消える ・ 新しいレスはファイルの先頭に追加される(古いレスほど後ろにある) ・ 表示する時に@DATA(配列)に全レスを読み込んでいる($DATA[0]がファイル内のレス総数) ・ sub print 内では、$begin、$end、$iにファイルの先頭から何行目かを示す数値が入る とりあえず考えてみた。 試してないから、ちゃんと動くかどうかは保証しない。 どんなレス番の振り方をしたいかわからんので思いつくのを並べてみた。 1. 表示してるページ内でのレス番 97行目 print "[$date] ". ($end - $begin - $i + 1) .". $text\n"; 2. ファイルに残ってるレス総数中のレス番 97行目 print "[$date] ". ($DATA[0] - $begin - $i +1) .". $text\n"; 3. それまでに書かれた全部の中でのレス番 何行も修正しなきゃならんしデータフォーマットも変わる(=今使ってるとしたらデータ読めなくなる)から、 最初からレス番機能が付いてる別のソフト探したほうがヨサゲ。 どうしてもってんなら考えてやらんこともない。
938 名前:nobodyさん mailto:sage [2008/02/24(日) 10:48:11 ID:???] printで連結演算子使うなんてもったいない。
939 名前:nobodyさん [2008/02/24(日) 16:26:23 ID:mX6RyV0T] >>937 わざわざ本当にありがとうございます 2.のファイルに残ってるレス総数中のレス番 で表示をしたいのですが、2.を試してみたところ [時間]3.内容 [時間]2.内容 [時間]1.内容 [時間]0.内容 [時間]-1.内容 といった風に、どんどんマイナスになってしまいます・・・
940 名前:nobodyさん mailto:sage [2008/02/24(日) 18:48:04 ID:???] >>939 スマソ。 97行目 print "[$date] ". ($DATA[0] - $i +1) .". $text\n";
941 名前:nobodyさん [2008/02/24(日) 19:21:05 ID:mX6RyV0T] >>940 97行目 print "[$date] ". ($DATA[0] - $i +1) .". $text\n"; でやっても>>939 と同様の結果になってしまいます・・・
942 名前:nobodyさん mailto:sage [2008/02/24(日) 20:13:54 ID:???] >>941 75行目 my $max = @DATA; 76行目 my $res_no = undef; 96行目と97行目の間に追加 $res_no = $max - $i + 1; 97行目 print "[$date] $res_no. $text\n"; でどうYO?
943 名前:nobodyさん [2008/02/24(日) 20:33:50 ID:mX6RyV0T] >>942 できました!!! すごいですヽ( ´ ∇ ` )ノ ワーイ 本当にありがとうございましたワーイ!!\(o ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄▽ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄o)/ワーイ!!
944 名前:nobodyさん mailto:sage [2008/02/24(日) 22:00:31 ID:???] printはカンマで出力しようよ。
945 名前:nobodyさん [2008/02/25(月) 00:21:00 ID:U/vtQwh8] 二重投稿を禁止するためには データを読み込んで1行目とフォームの内容が同じの時にエラー表示させればいいんですよね?
946 名前:nobodyさん mailto:sage [2008/02/25(月) 01:29:27 ID:???] >>945 そうだな。
947 名前:nobodyさん mailto:sage [2008/02/25(月) 01:33:39 ID:???] 連投防止のノウハウといったら、何があるかな?俺が思いつくものは・・・ ・時間が近すぎる場合、IPアドレスが同一かをチェック ・投稿内容が(数回前までと)同じかをチェック >>945 の方法だと、二重投稿を防止することは出来ても、あらしの連投は防止出来ないよね。 ま、質問自体が二重投稿を防止する方法なので、特に言うことは無いと思うが。
948 名前:nobodyさん mailto:sage [2008/02/25(月) 06:27:19 ID:???] print の出力をカンマで区切ると 画面出力命令のオンオフ切替が頻発し 連結してから纏めて出力した方が速い云々 ベンチマークしてないし本当かどうか知らんけどね
949 名前:nobodyさん mailto:sage [2008/02/25(月) 06:44:13 ID:???] そんな事より、printでカンマ使ってると、 仕様変更でその場で出力じゃなく変数に代入とかになるとウザイ。
950 名前:nobodyさん mailto:sage [2008/02/25(月) 09:45:58 ID:???] >>948 boobar.hp.infoseek.co.jp/bench/print.txt
951 名前:nobodyさん mailto:sage [2008/02/25(月) 22:07:36 ID:???] 大差ないってことか
952 名前:nobodyさん [2008/02/26(火) 22:28:43 ID:TAx5gJzC] ファイルのMIME-Typeってどうやって取得するの? PHPではmime_content_type()という関数があるみたいなんだけど、 Perlではどうやるの?
953 名前:nobodyさん [2008/02/27(水) 00:36:15 ID:NLm3jzH+] 掲示板で仮にログファイルを@LOGと置いて、それの最新の投稿を取り出すにはどうすれば良いの? @LOG[0]でやったんですがどうも違ったみたいで
954 名前:nobodyさん mailto:sage [2008/02/27(水) 02:31:06 ID:???] >>952 use CGI; my $q = new CGI; $q->uploadInfo($filename)->{'Content-Type'}; >>953 @LOG[@LOG-1]
955 名前:954 mailto:sage [2008/02/27(水) 02:37:08 ID:???] >>954 use CGI; my $q = new CGI; my $filename = $q->param('uploaded_file'); $q->uploadInfo($filename)->{'Content-Type'}; 1行書き忘れた。
956 名前:952,953 mailto:sage [2008/02/27(水) 03:43:32 ID:???] 馬鹿は無理に回答しなくていいよ
957 名前:nobodyさん mailto:sage [2008/02/27(水) 07:27:20 ID:???] 最新って・・・ 一番最後の要素ってことなら $LOG[$#LOG]
958 名前:nobodyさん mailto:sage [2008/02/27(水) 11:51:23 ID:???] $LOG[-1]でよくね?
959 名前:nobodyさん mailto:sage [2008/02/27(水) 18:16:19 ID:???] >>956 こういう質問するでも無く答えるでも無いゴミは何がしたいんだろうね?
960 名前:nobodyさん mailto:sage [2008/02/28(木) 04:40:38 ID:???] 君みたいな馬鹿を釣って遊ぶ
961 名前:952 [2008/02/28(木) 08:35:02 ID:5gTQ/iME] >>954-955 レスありがとう それはロダとかでファイルをアップロードした時の判別方法だよね? 書き忘れたんだけど、LWP::Simpleで外部画像を取得した時に判別する方法を教えてほしいです。 お願いします。
962 名前:nobodyさん mailto:sage [2008/02/28(木) 11:37:27 ID:???] >>961 LWP::Simple はシンプル故に、レスポンスヘッダと コンテントボディを同時には取得できない。 search.cpan.org/dist/libwww-perl/lib/LWP/Simple.pm 普通に LWP でリクエストを送って得たレスポンスからなら 同時に取得できる。 search.cpan.org/dist/libwww-perl/lwpcook.pod search.cpan.org/dist/libwww-per/lib/HTTP/Headers.pm PHP の Fileinfo() 相当のモジュールはこれ。 search.cpan.org/dist/File-MMagic-1.27/
963 名前:nobodyさん [2008/02/28(木) 17:15:11 ID:TKGGhpyN] formが <FORM ACTION="test.cgi" METHOD="POST"><INPUT TYPE="TEXT" NAME="f" cols="10"><INPUT TYPE="TEXT" NAME="id" cols="10"><INPUT TYPE="SUBMIT" VALUE="GO"> でtest.cgiが #!/usr/local/bin/perl use strict; use CGI; require"jcode.pl"; my $cgi=CGI::new(); my $f=$cgi->param('f'); my $id=$cgi->param('id'); @test = ($f,$id); $role = int(rand 6); my $html=<<"EOM"; <HTML> <HEAD> <TITLE>test</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=Shift-JIS"> </HEAD> <BODY> $test[$role] EOM print<<"EOM"; Content-type:text/html $html EOM exit; 1; という様に、formで受けた$fと$idをランダムで表示させたいのですがerror500 となってしまいます。パーミッションは合ってると思います。なぜなのでしょうか?
964 名前:nobodyさん [2008/02/28(木) 17:16:30 ID:TKGGhpyN] すいません $role = int(rand 2); です
965 名前:nobodyさん mailto:sage [2008/02/28(木) 17:52:02 ID:???] >>963-964 print<<"EOM"; Content-type:text/html $html EOM
966 名前:nobodyさん [2008/02/28(木) 17:58:13 ID:TKGGhpyN] >>965 改行が多いと認識されたため、空行は省いて書き込みしました ですので print<<"EOM"; Content-type:text/html $html EOM で書いてもerror500となります
967 名前:nobodyさん mailto:@testと$role sage [2008/02/28(木) 18:11:34 ID:???] >>966 #!/usr/local/bin/perl use CGI::Carp qw(fatalsToBrowser); use strict;
968 名前:nobodyさん mailto:sage [2008/02/28(木) 18:13:24 ID:???] >>967 いい人だ
969 名前:nobodyさん mailto:sage [2008/02/28(木) 18:18:37 ID:???] 「くだすれ」の由来を教えてください
970 名前:nobodyさん mailto:sage [2008/02/28(木) 18:21:36 ID:???] CGI::newってつい最近知り合いも書いてたんだけど どっかのサイトか本でそんな紹介されてるのかな? CGI.pmは問題ないんだけど、new CGI;かCGI->new;て書く癖つけとかないと 他のモジュールでクラスが渡らなくて泣きそうでない?
971 名前:nobodyさん mailto:sage [2008/02/28(木) 18:31:10 ID:???] うむ。
972 名前:nobodyさん [2008/02/28(木) 18:56:16 ID:TKGGhpyN] >>967 でやって、KENTの文法チェッカー使ったら [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "$cgi" requires explicit package name at new.cgi line 6. [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "$cgi" requires explicit package name at new.cgi line 7. [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "@test" requires explicit package name at new.cgi line 8. [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "$role" requires explicit package name at new.cgi line 9. [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "@test" requires explicit package name at new.cgi line 10. [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "$role" requires explicit package name at new.cgi line 10. [Thu Feb 28 18:54:48 2008] new ゥらは。 猿だって仲間から餌を分けてもらう時は申し訳無さそうな顔するんだよ。ヘラヘラ笑いながら近づいてったら殴り殺されんぞ。 猿だったら今頃とっくに死んでんだよお前。そんな態度で今まで。研修で散々言われたよな。謝る時は申し訳無さそうな顔をしろって。 そういう学校じゃ受けられない教育を受けておきながら、社会人を経験しなきゃ得られない知識を貰っておきながら、 何にも生かせてないんだよ今のお前は。学生のサークルごっこじゃないんだから。もっと四六時中危機感を持って生きてなきゃ駄目だよ。いい加減いつまで学生気分じゃ。
973 名前:nobodyさん mailto:sage [2008/03/02(日) 03:52:46 ID:???] >>992 ためしに$LOG[1]を表示してみ。
974 名前:nobodyさん [2008/03/02(日) 07:56:37 ID:UDBaDi65] >>994 >知識ってのはな、社会人に取って金と同じく貴重な財産なんだよ。 それを超初心者に教えてくれるのがこのスレッドの意義ですよね? >社会で必要とされる知識ってのはな、本になんか載ってない事ばかりなんだよ。全部人から人へ、直接のコミュニケーションを介して伝わって来たモンなんだ。 掲示板というコミュニケーションを介して聞いてますし、この内容は僕の持ってる2つのPerlに関する書籍にはありませんでした。 >猿だったら今頃とっくに死んでんだよお前。 猿じゃないです。人間です。人間と猿のDNAはたかが2%の違いといわれてますが、それは大きな差です。猿=人間という発想はおかしいかと。 >いい加減いつまで学生気分じゃ。 当て水量でモノを言わないでください。あなたの投稿からは僕があたかも社会人であるかのように見えますけど、僕まだ中学3年生です。 まあ態度という点では気をつけなきゃならないのかなとは思いましたが、あなたには>>1 に書かれているような優しさや、このスレッドの意義を良く理解してもらいたいものです。 >>995 ありがとうございます!できました! ただDATA[1]だけでは、すべてのフォームの内容が取り出されて、うまく$FORM{'comment'}の部分だけを抽出できません。。
975 名前:942=995 mailto:sage [2008/03/02(日) 16:20:53 ID:???] >>996 なあ、ガキならガキらしく、オッサンには敬意を払えよ。 あと、試行錯誤の形跡が見れないと誰も相手してくれないぞ。 悩めるだけ悩め。そしてどう悩んだか見せろ。話はそれからだ。 ヒントは、元ソースの94行目 for から99行目 }まで。 ここで、$dateには日付、$textには内容が入ってるって事。 そっから先は自分で少し考えてみろ。 分からなくなったら、自分でどう考えてどこが分からないかを書けよ。 自分じゃ何も試さないようじゃ、漏れも付き合いきれない。 いい加減甘やかしすぎだと思えてきた。
976 名前:nobodyさん mailto:sage [2008/03/02(日) 16:39:55 ID:???] >>997 お前、甘すぎ。バカガキは放置が基本。
977 名前:nobodyさん [2008/03/02(日) 17:44:58 ID:eMvpxgfI] >>999 お前糞すぎワロタwww >>998 神様すぎワロタwww
978 名前:nobodyさん mailto:sage [2008/03/02(日) 17:48:04 ID:???] 人類に平和が訪れますように
979 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。