Perlコーディング初心者質問スレ Part 47
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2006/03/01(水) 15:39:31ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
過去ログやお勧めサイトは >>2-10
0002nobodyさん
2006/03/01(水) 15:44:45ID:???CGI: Common Gateway Interface part 13
http://pc8.2ch.net/test/read.cgi/php/1126436361/
【Perl,CGI】参考書籍 第三版
http://pc8.2ch.net/test/read.cgi/php/1030209573/
【Perl】ファイルロック(排他処理)について語ろう
http://pc8.2ch.net/test/read.cgi/php/1024795138/
★負荷軽減対策委員会(Perl、PHP)★
http://pc8.2ch.net/test/read.cgi/php/1034645635/
Perlモジュールについて
http://pc8.2ch.net/test/read.cgi/php/997829243/
CGIに依存しないPerlの話題一般/Part2
http://pc8.2ch.net/test/read.cgi/php/1030548610/
★三 【 スクリプト改造工房 PART 8 】 ★三
http://pc8.2ch.net/test/read.cgi/php/1077525387/
【 スクリプト改造依頼スレ 】(丸投げ) part4
http://pc8.2ch.net/test/read.cgi/php/1127916965/
0003nobodyさん
2006/03/01(水) 15:46:22ID:???Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980 参照不能
DAT: http://tako.2ch.net/perl/dat/957208980.dat
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087 参照不能
DAT: http://tako.2ch.net/perl/dat/971817087.dat
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521 参照不能
DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156 参照不能
DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part5 http://pc.2ch.net/php/kako/988/988728069.html
Part6 http://pc.2ch.net/php/kako/996/996075607.html
Part7 http://pc.2ch.net/php/kako/1000/10002/1000267444.html
Part8 http://pc.2ch.net/php/kako/1003/10039/1003900311.html
Part9 http://pc.2ch.net/php/kako/1009/10095/1009549309.html
Part10 http://pc.2ch.net/php/kako/1014/10145/1014556702.html
0004nobodyさん
2006/03/01(水) 15:46:59ID:???Part11 http://pc.2ch.net/php/kako/1017/10172/1017201229.html
Part12 http://pc.2ch.net/php/kako/1019/10199/1019917048.html
Part13 http://pc.2ch.net/php/kako/1022/10227/1022731565.html
Part14 http://pc.2ch.net/php/kako/1026/10269/1026977659.html
Part15 http://pc.2ch.net/php/kako/1028/10288/1028816385.html
Part16 http://pc.2ch.net/php/kako/1032/10320/1032070299.html
part17 http://pc.2ch.net/php/kako/1034/10345/1034583844.html
part18 http://pc.2ch.net/php/kako/1037/10377/1037797479.html
part19 http://pc.2ch.net/php/kako/1042/10422/1042260745.html
part20 http://pc2.2ch.net/php/kako/1044/10447/1044717887.html (タイトルに19と誤記)
0005nobodyさん
2006/03/01(水) 15:47:31ID:???part21 http://pc2.2ch.net/php/kako/1047/10479/1047980851.html
part22 http://pc2.2ch.net/php/kako/1050/10503/1050369328.html
part23 http://pc2.2ch.net/php/kako/1053/10530/1053051519.html
part24 http://pc2.2ch.net/php/kako/1054/10549/1054992610.html
part25 http://pc2.2ch.net/php/kako/1056/10567/1056730690.html
part26 http://pc5.2ch.net/php/kako/1059/10590/1059043704.html
part27 http://pc5.2ch.net/php/kako/1060/10608/1060808783.html
part28 http://pc5.2ch.net/php/kako/1063/10635/1063562491.html
part29 http://pc5.2ch.net/php/kako/1066/10662/1066286828.html
part30 http://pc5.2ch.net/test/read.cgi/php/1069846177/
0006nobodyさん
2006/03/01(水) 15:48:50ID:???part31 http://pc5.2ch.net/test/read.cgi/php/1072896288/
part32 http://pc5.2ch.net/test/read.cgi/php/1075545279/ (タイトルに31と誤記)
part33 http://pc5.2ch.net/test/read.cgi/php/1078076768/
part34 http://pc5.2ch.net/test/read.cgi/php/1081148490/
part35 http://pc5.2ch.net/test/read.cgi/php/1085557731/
part36 http://pc5.2ch.net/test/read.cgi/php/1089779036/
part37 http://pc5.2ch.net/test/read.cgi/php/1093106507/
part38 http://pc5.2ch.net/test/read.cgi/php/1097158988/
part39 http://pc5.2ch.net/test/read.cgi/php/1101522903/
part40 http://pc5.2ch.net/test/read.cgi/php/1106816922/
0007nobodyさん
2006/03/01(水) 15:49:30ID:???part41 http://pc8.2ch.net/test/read.cgi/php/1110383236/
part42 http://pc8.2ch.net/test/read.cgi/php/1116970588/
part43 http://pc8.2ch.net/test/read.cgi/php/1123777607/
part44 http://pc8.2ch.net/test/read.cgi/php/1129477637/
part45 http://pc8.2ch.net/test/read.cgi/php/1134049707/
part46 http://pc8.2ch.net/test/read.cgi/php/1137518266/ (前スレ)
part44-621氏による過去ログ倉庫
ttp://user.ftth100.com/mirrorhenkan/perl/
0008nobodyさん
2006/03/01(水) 15:50:02ID:???[プログラミング自体の経験が無い奴はまずココを読め]
Perlプログラミング講座: http://www.site-cooler.com/kwl/perl/
[本]
リャマ: http://www.oreilly.co.jp/books/4873111269/
駱駝: http://www.oreilly.co.jp/books/4873110963/
Effective Perl: http://www.ascii.co.jp/books/detail/4-7561/4-7561-3057-7.html
クックブック: http://www.oreilly.co.jp/books/4873112028/
[オンラインマニュアル] (追加)
最新のドキュメント: http://search.cpan.org/~nwclark/perl-5.8.7/
perl5.8.xのドキュメント(一部): http://www.kt.rim.or.jp/~kbk/perl-5.8/
perl5.005_03 のドキュメント: http://www.kt.rim.or.jp/~kbk/perl5.005/
日本語ドキュメント検索: http://www.cpan.jp/search.cgi
perldoc.jp: http://www.perldoc.jp/
Perldoc.com: http://www.perldoc.com/
0009nobodyさん
2006/03/01(水) 15:51:55ID:???[モジュール]
CPAN.com: http://search.cpan.org/
河馬屋二千年堂: http://homepage3.nifty.com/hippo2000/
[テクニック]
Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm
Perlのページ: http://homepage1.nifty.com/nomenclator/perl/
Perlの小技: http://homepage3.nifty.com/hippo2000/perltips/index.htm
[Perl5.8Unicodeメモ]
http://www.pure.ne.jp/~learner/program/Perl_unicode.html
http://www.namazu.org/~tsuchiya/perl/perl-5.8.html
http://www.lr.pi.titech.ac.jp/~abekawa/perl/perl_unicode.html
関連スレ
正規表現道場@2ch Part4
http://pc8.2ch.net/test/read.cgi/php/1105930285/
0010nobodyさん
2006/03/01(水) 15:52:31ID:???ごめ、ちょっと失敗しちゃった…。
0012987
2006/03/01(水) 15:59:02ID:???ごめんなさい…。
>>前スレの995
> print MAIL "Subject: $sub_msg\n";
↓
> print MAIL "Subject: $sub_msg\n\n";
ですか??
0014987
2006/03/01(水) 16:32:13ID:???私の環境からは送れなかった事がないので、
これが原因なのかはまだわかりません。
(誰かが送れなくて連絡をくれるまでは…)
0015nobodyさん
2006/03/01(水) 16:32:34ID:???というか、RFC(ry
最近は qmail や Postfix が動いてる場合が多いんだけど、
今でも sendmail 使ってるサーバなのかなとオプション見て思った。
> open(MAIL,"| $sendmail -t -n -oi $mail_addrs") || &msg("メール送信に失敗しました。");
0016nobodyさん
2006/03/01(水) 16:40:16ID:???print MAIL "From: $mail_addrs\n";
print MAIL "BCC: $mail_addrs_bcc\n";
print MAIL "Subject: $sub_msg\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "X-Mailer: UNKO\n\n";
とかつけたら?
0017nobodyさん
2006/03/01(水) 16:47:35ID:???> これが原因なのかはまだわかりません。
じゃあ環境が整ってないんじゃん。
今ここであーだこーだ言ってもしょうがないって訳か。
その送れないって奴を連れてくるか、ここにそのフォームを晒すかしなきゃ解決にはならんよーな
0018nobodyさん
2006/03/01(水) 17:10:42ID:???メールアドレスが不正なものでないかどうか検証してる?
フォームについても同様。
0019nobodyさん
2006/03/01(水) 17:49:38ID:???ってことでFA?
0020nobodyさん
2006/03/01(水) 17:51:17ID:???エンコードするだけで FA されても困ります。
> なりなんかしてください
他の方法があるなんてはつみみです。
0021nobodyさん
2006/03/01(水) 17:52:43ID:???お前が低脳なのを棚に上げて初耳とかワロス
ぐ ぐ れ
0023nobodyさん
2006/03/01(水) 18:02:20ID:???ここ本当に初心者しか居ない
0024nobodyさん
2006/03/01(水) 18:05:24ID:???0025nobodyさん
2006/03/01(水) 19:04:33ID:???0026nobodyさん
2006/03/01(水) 20:34:11ID:???http://www.atmarkit.co.jp/fnetwork/rensai/netpro04/netpro01.html
http://www.ietf.org/rfc/rfc2047.txt
0027nobodyさん
2006/03/01(水) 21:59:41ID:???【配布先URL】 http://powder-snow.milk.tc/
【 依頼期限 】 なるべく早めにお願いします
【. 依頼内容 】 当サイトの掲示板でnemuの部屋の雑談板のように頻繁にアドレス乱立スレが立ちます。
今は雑談板を閉鎖しているのですが待っている方もみえます、以前は串制限やホスト名を制限していましたが無意味な結果が現状です
上記のcgiにBBQを組み込みたいのですがどこに組み込んで良いのかわかりません
if (gethostbyname(join(".",reverse(split(/\./,$ip))).".niku.2ch.net") eq "\x7f\x00\x00\x02")
これをどこに組み込めば良いのかどうか宜しくお願いします
0028nobodyさん
2006/03/01(水) 22:17:51ID:???マルチポストすんな、クズが
http://pc8.2ch.net/test/read.cgi/php/1077525387/927
0031nobodyさん
2006/03/01(水) 23:13:35ID:???0032nobodyさん
2006/03/02(木) 02:28:51ID:???作者のサイトの掲示板にスレ立てればいい。
または
http://pc8.2ch.net/test/read.cgi/php/1077525387/930
0033nobodyさん
2006/03/02(木) 11:21:11ID:???DOSで
ppm
install Image::Magick
と打ち込むと
Error no valid repositories:
Error: 500 Can't connect to ppm.ActiveState.com:80(connect: unknow error)
Error: 500 Can't connect to ppm.ActiveState.com:80(connect: unknow error)
とでます。
原因は何なのか分かるかたいらっしゃいますか?
perlのバージョンはv5.8.7です
0034nobodyさん
2006/03/02(木) 11:45:43ID:???WinでImageMagickを挿れるときは、ImageMagickの本サイトからインストールできる
0035nobodyさん
2006/03/02(木) 11:51:47ID:???0036nobodyさん
2006/03/02(木) 14:53:32ID:x9+bzH30それはインストールしてみたんですが関係ないみたいです…
0039nobodyさん
2006/03/02(木) 18:09:13ID:???Image Magickバイナリをインストールするときに
> Select Additional Tasks
のところで
> Install PerlMagick for ActiveState Perl v5.8.7 build 815
にチェック入れるだけ。
0040nobodyさん
2006/03/02(木) 23:27:53ID:???2行目以降の行頭に半角スペースがはいってしまうんです。
対処方法ありませんか?
0041nobodyさん
2006/03/02(木) 23:32:51ID:???これでどう?
0043nobodyさん
2006/03/03(金) 10:10:16ID:???たとえば、
-a :必ず値がない
-b [VALUE] :値があるかもしれないしないかもしれない
-c VALUE :必ず値がある
こんな感じのオプションがあるとして、さらに引数に任意の文字列を与えられる場合、
つまり以下のような感じです。
command.pl [-a] [-b [value]] [-c value] string1 [string2 string3...]
これを間違いなく受け取るにはどうしたらいいでしょうか。
例えば以下のようなときにどうすればいいかわかりません。
command.pl -c string1
すべてのオプションを値を必須、もしくは無しの二極にするしかないでしょうか。
0044nobodyさん
2006/03/03(金) 10:12:00ID:???>さらに引数に任意の文字列を与えられる場合
さらに引数に任意の文字列を任意の数与えられる場合
> command.pl -c string1
command.pl -b string1
0045nobodyさん
2006/03/03(金) 10:21:13ID:???valueなのかstring1なのかなんて調べようがないし、
valueが有効な値のみで構成されているか調べても、任意の文字がはいるstring1は
もしかしたらその文字だけで構成されているかもしれないし。
stringの数も任意だから後ろから取り出すこともできないし。
オプションの値を二極化することにします。
お騒がせしました。
0048nobodyさん
2006/03/03(金) 10:59:23ID:???お返事ありがとうございます。
使ってみましたが、おっしゃるとおり -b [value]はそのままでは受け渡せませんでした。
単純に -x の次の値を値として取得しているだけのようなので、
このモジュールでは難しいように思います。
とりあえず -b none という「値を指定しないという値」を作って、
問題が出たときはこの値を明示することにしました。
0049nobodyさん
2006/03/03(金) 12:45:49ID:FQZyKwaV曜日 月 日 時:分:秒 年
Sat Jan 1 13:12:26 2005
Sun Jan 2 14:16:50 2005
と言うデータがあったら「時」の部分だけ取り出す正規表現を教えてください。
上の二件のデータですと13:と14:の部分です。
0051nobodyさん
2006/03/03(金) 12:47:36ID:???0052nobodyさん
2006/03/03(金) 12:50:41ID:FQZyKwaVとかやってました・・・
全然だめです
0053nobodyさん
2006/03/03(金) 12:53:12ID:FQZyKwaV=~ m/([A-Z][a-z]{2} +\d+)/)
とやったら月日はうまく出せたんです。
Sat Jan 1 13:12:26 2005
Jan 1
0054nobodyさん
2006/03/03(金) 12:57:19ID:???0055nobodyさん
2006/03/03(金) 13:28:52ID:???ttp://www.att.or.jp/perl/faq/perlwin32faq/perlwin32faq11j.html#ppm_and_proxies
0056nobodyさん
2006/03/03(金) 13:48:50ID:???--- Module.pm ---
package Module;
use strict;
use CGI;
1;
--- script.pl ---
use lib '.';
use Module;
$cgi = new CGI;
print "hoge\n";
exit;
このようなファイルがあるときに、
perl script.pl を実行すると、"hoge" が出力されます。
use Module; することで、use CGI が script.pl で
実行されたように継承されると思うのですが、
Module.pm 内の use strict; までは継承されないのでしょうか?
もちろん、script.pl に use strict を入れると $cgi でエラーが出ます。
同じように、use warnings も各スクリプト上でしか機能しないのでしょうか?
0057nobodyさん
2006/03/03(金) 14:17:45ID:FQZyKwaVSat Jan 1 13:12:26 2005
Sun Jan 2 14:16:50 2005
上のデータを
=~ m/([0-9][0-9]\:+(\d+))/)
とやったところ
結果が
13:12
14:16
と出てしまいます。
曜日 月 日 時:分:秒 年
と言うデータがあったら「時」の部分だけ取り出したいので
13:
14:
と出したいのですが、どうもうまくいきません・・・
0058nobodyさん
2006/03/03(金) 14:24:58ID:???あと、無駄なカッコは外そう。
m/[A-Z][a-z]{2} +\d+ +(\d+\:)\d+/
0059nobodyさん
2006/03/03(金) 16:30:44ID:???script.pl 内で use Module 後に CGI->new が可能なのは、
use CGI が*どのファイルで行われているかに関わらず、*
現在のプロセスに CGI.pm 中のコードが読み込まれた後だから。
strict プラグマはその書き方だとファイルスコープに対して
効いているので、別ファイルのコードに影響は及ばない。
> use warnings も各スクリプト上でしか機能しないのでしょうか?
http://perldoc.jp/docs/perl/5.8.1/warnings.pod
0060nobodyさん
2006/03/03(金) 17:46:07ID:???0061nobodyさん
2006/03/03(金) 18:22:06ID:???0062nobodyさん
2006/03/03(金) 19:59:14ID:5hL2IsozGETリクエストから渡された値を外部ファイルから検索し該当する行に保存されたものをフォーム上に復元したいのですが、
テキスト、チェックボックス、ラジオボタンまでは出来たのですが Selectをどう再現すればいいかで悩んでます。
外部ファイルへの保存は {テキストエリア,チェックボックス1,2,3,セレクト1,2} という形で各valueを保存しています。
例: inputtext,chked1,,chked3,sel13,sel0
読み出しはカンマ区切りを変数に読み出す形で行っています。
open (DATA,"hozon.dat"); @DATA = <DATA>; close (DATA);
foreach $linename (@DATA)
if ($linecont =~ /$name/i ){
($textfield1,$chk1,$chk2,$chk3,$sel1,$sel2) = split (/,/,$linecont);
if ($chk2 eq "chked2") {$chked2 = "checked";} else {$chked2 = "";}
以下復元処理
#htmlでは <input type="checkbox" value="chked2" $chked2> といった具合です
#<select name="select1">
#<option value="0" selected=もじゃもじゃもじゃ >セレクト選択肢1</option> ←ここを復元したい、選択肢は60個程
0063nobodyさん
2006/03/03(金) 20:02:24ID:5hL2Isoz$names は GETで渡された変数です。
0065nobodyさん
2006/03/03(金) 20:37:34ID:???なんかしらんけど、HTML::FillInForm でも使ってろ。
http://search.cpan.org/~tjmather/HTML-FillInForm-1.06/lib/HTML/FillInForm.pm
0066ヽ(´ー`)ノ ◆.ogCuANUcE
2006/03/03(金) 21:06:07ID:???use HTTP::Date qw(parse_date);
my $n = (parse_date('Sat Jan 1 13:12:26 2005'))[3];
# => 13
0067nobodyさん
2006/03/03(金) 23:13:58ID:???cgiにアクセスするとindex.htmlが更新されるcgiを作ったのですが、
5日ごとに自動で更新できるようにしたいのです。
調べてみてもそういった手法はないみたいです。
チャットのようなものや、cgiにアクセスした状態でないとできないみたいです。
cgiファイルがアクセスされることなしに自分で実行して、5日ごとにページが更新されている
そんなcgiを作成してみたいのです。
よろしくお願いします。
006967
2006/03/03(金) 23:53:28ID:???調べてみたら、私が利用しているロリポップではcronがつかないのです・・・。
他の方法を調べてみます。・・・。
0070nobodyさん
2006/03/04(土) 00:08:26ID:???0071nobodyさん
2006/03/04(土) 00:14:17ID:???もう解決してるけど。月日と時が欲しいんだよね。
my $date = "Sat Jan 1 13:12:26 2005";
my($md, $h) = ($date =~ / (¥S+ ¥d+) (¥d+):/i);
0073nobodyさん
2006/03/04(土) 00:20:24ID:???じゃ、cron使える所にプログラム仕込んで
5日に1回、cgiを叩くようにする。
もしくは、変更される箇所をJavaScriptにする。
日付を5で割った余りを見て、そこだけランダムに生成。
これだとcgiも要らない。
ソースは見えちゃうけど。
0074nobodyさん
2006/03/04(土) 00:27:13ID:???>>49,53 を見てたら月日と、時間が別々に要るっぽかったので。
モジュールを使わない方向で、オートマトンが短くなるように書いてみた。
iオプションは要らなかったか…
my($md, $h) = ($date =~ / (¥S+ ¥d+) (¥d+):/);
0075nobodyさん
2006/03/04(土) 01:05:20ID:???007669
2006/03/04(土) 02:01:29ID:???>>73さん javascriptの併用もOKです。それでしたら決められた日時が来たら、再度cgiを読みこむ
といった具合にしてみたいです。
ちょっとまた調べてきます。レスをありがとうございました。
0077nobodyさん
2006/03/04(土) 02:13:12ID:8Fz2Q4U82: $hoge =~ s/%2F///g; と書いてみましたが
3: エラーが出て上手くいきませんでした。
同じようにして
$hoge2 =~ s/%3A/:/g;
は、うまくいったのでサーバの問題とかそういうのではないと思います。
よろしくおねがいします。
0078nobodyさん
2006/03/04(土) 02:15:35ID:???0079nobodyさん
2006/03/04(土) 02:17:29ID:8Fz2Q4U8うぁーん、できました。・゚・(ノД`)・゚・。
ありがとうございました
0082nobodyさん
2006/03/04(土) 04:44:18ID:???0083nobodyさん
2006/03/04(土) 05:01:24ID:???ところで、もしかしてやりたい事はこれだったりする?
$hoge =~ s{ %([[:xdigit:]]{2}) }{ pack('H2', $1) }gex;
0084nobodyさん
2006/03/04(土) 15:23:11ID:???「○○○.」○○○.jp や 「○○○.」○○○.○○○.jp のような。
$host_name =~ s/.+\.//;
ってやってみましたがうまくいきませんでした。
ご教授お願いします。
0085nobodyさん
NGNG0087nobodyさん
2006/03/04(土) 16:51:16ID:???ありがと
0088nobodyさん
2006/03/04(土) 20:33:30ID:???$omikuji = '大吉','中吉','小吉'.'吉','凶';
と指定した後に
# おみくじ
$name =~ s/おみくじ/$omikuji/g;
としているのですが、大吉しか表示されません。
どうすればいいのでしょうか?
0089nobodyさん
2006/03/04(土) 20:44:58ID:???0090nobodyさん
2006/03/04(土) 21:09:45ID:???0092nobodyさん
2006/03/04(土) 21:16:44ID:???009488
2006/03/04(土) 22:14:18ID:???みなさんありがとうございました
009576
2006/03/05(日) 00:33:38ID:???なるほど、そういうアプローチもありますね。
今なお探しているんですが、ソースを組み合わせるところまで行っていません・・。
009676
2006/03/05(日) 02:19:28ID:???同一IPアドレスから一日一回しかindex.htmlを生成しない
5日おきくらいに自動更新できればいいかなと思ったんですが、
googleのこと考えると更新のペースは早いほうがいいと判断したためです。
これで正常動作したら完成です。
レスしてくれた皆様、ありがとうございました。
0097nobodyさん
2006/03/05(日) 02:22:34ID:???0098nobodyさん
2006/03/05(日) 18:43:40ID:???if ($1 ne "1") { print "hage"; }
条件に1か2でない場合hageを実行したいのですが
if ($1 ne "1”) { 処理内容 } elsif ($1 ne "2") { 処理内容 } else { 処理内容 }
これだと3つ処理内容が分割されてうまくいきません
条件が2つ実行内容は1つの場合どういう分がいいのでしょうか?
0099nobodyさん
2006/03/05(日) 19:10:38ID:???if (($1 ne "1") or ($1 ne "2")) {print "hage";}
たぶんやりたいのは
if (($1 ne "1") and ($1 ne "2")) {print "hage";}
0102nobodyさん
2006/03/05(日) 19:45:31ID:???0103nobodyさん
2006/03/05(日) 22:15:53ID:???0104nobodyさん
2006/03/05(日) 22:21:35ID:???0105nobodyさん
2006/03/05(日) 22:26:02ID:???ほかは知らん使ったことないので
0106nobodyさん
2006/03/05(日) 22:26:31ID:???0108nobodyさん
2006/03/05(日) 22:28:53ID:???0112nobodyさん
2006/03/05(日) 23:16:44ID:???0113103
2006/03/05(日) 23:19:42ID:???0114nobodyさん
2006/03/05(日) 23:23:40ID:???前レスから12秒・・・コレでなにも読めないか?
難儀だなオイ
0115nobodyさん
2006/03/05(日) 23:24:52ID:???0116nobodyさん
2006/03/05(日) 23:29:40ID:???Perl provides "and" and "or" operators.
The short-circuit behavior is identical.
The precedence of "and" and "or" is *** much lower ***, however,
so that you can safely use them after a list operator
without the need for parentheses.
-- "perlop" man page
0117nobodyさん
2006/03/05(日) 23:30:19ID:???この流れのおかげだ。
0118nobodyさん
2006/03/05(日) 23:31:22ID:???/regexpA/ .. /regexpB/;
/regexpA/ ... /regexpB/;
下の時に使う奴だね。
0119nobodyさん
2006/03/05(日) 23:45:42ID:???/regexpA/ ... /regexpA/;
の時に初めて存在価値があるわけだが。
0120nobodyさん
2006/03/06(月) 11:21:16ID:???0121nobodyさん
2006/03/06(月) 12:01:55ID:???0122nobodyさん
2006/03/06(月) 16:10:02ID:???0123nobodyさん
2006/03/06(月) 17:03:49ID:???0124nobodyさん
2006/03/06(月) 19:32:55ID:???0125nobodyさん
2006/03/06(月) 20:31:38ID:???0126nobodyさん
2006/03/06(月) 22:27:03ID:???とりあえずActivePerlを入れて、blogのTopPageのDesignだけはCompleteしました
0127nobodyさん
2006/03/06(月) 22:40:18ID:???0128nobodyさん
2006/03/06(月) 23:31:12ID:???そ、お前
何か質問無いの?
0129nobodyさん
2006/03/07(火) 00:15:38ID:???0130nobodyさん
2006/03/07(火) 00:26:19ID:???美味くて独創的なのがいい。
0131nobodyさん
2006/03/07(火) 03:44:15ID:???余ったお湯を捨てる (捨てるお湯の量が多いと味が薄くなるから気をつける)
温泉卵をぶち込む
軽くかき混ぜて食す
( ゚Д゚)グラッチェ
0132nobodyさん
2006/03/07(火) 07:11:14ID:???0133nobodyさん
2006/03/08(水) 10:57:35ID:???質問なのですが、たとえば、
@aray1 = ("abc","AAAabcBBB","CCCabcDDD","\n");
foreach $line (@aray1){
$line =~ s/abc/xxx/g;
push(@aray2,$line);
}
print join(":",@aray1);
print join(":",@aray2);
と書いた場合、
>abc:AAAabcBBB:CCCabcDDD
>xxx:AAAxxxBBB:CCCxxxDDD
と出力されると記憶していましたが、実際には、
>xxx:AAAxxxBBB:CCCxxxDDD
>xxx:AAAxxxBBB:CCCxxxDDD
と出力されました。perlのバージョンは5.8.7です。
ぐぐったりしてみたんですが、perl4から5に変わるときに、上のコードの場合で言うところの$lineが、配列@aray1の値が代入されるんじゃなくて、実体を参照するようになったような、そうじゃないような曖昧な情報しか見つけられませんでした。
配列の値が代入されるって言い切ってるサイトもあるし。だとすれば上のようなコードで@aray1の中身まで置換されるのおかしいし。
実際のところ、
・perl4からperl5に上がった時に変更になった
・元々そうだった
・その他(コード自体に問題あり)
…
どうなんでしょうか?
わかる方いらっしゃいますでしょうか?
0134nobodyさん
2006/03/08(水) 11:29:56ID:???Perl4 の頃からそういう仕様だが。
<q cite="http://flex.ee.uec.ac.jp/texi/perl/perl_13.html#SEC32">
配列値が(配列値を返す expression ではなく)実際の配列の場合は、
ループの中で変数を変更することで配列要素を変更することができる。
</q>
0135nobodyさん
2006/03/08(水) 13:05:53ID:???の行を下記2行に書き換えてごらんあれ
foreach (@aray1){
my $line = $_;
0136133
2006/03/08(水) 13:44:41ID:???>> 135
早速の回答ありがとうございます。
そうですか…perl4時代から既にそうだったんですね…orz
自分の無知を恥じます。
ところで、となると、foreachは与えられた配列の個々の要素の値をスカラー変数に「代入する」という表現のwebが散見されますが、この表現は間違いということなんでしょうか?
0137nobodyさん
2006/03/08(水) 13:46:53ID:???print "@hoge";
の時
a.b.c.d
みたいに間に「.」をいれて取り出したいんですがどのような書き方が最適でしょうか?
ご指導ご鞭撻のほどを
0138nobodyさん
2006/03/08(水) 13:57:11ID:???0139nobodyさん
2006/03/08(水) 15:14:48ID:???正規のドキュメントと違う事を書いてる二次情報は間違いなんじゃない。
正規のドキュメントにツッコミ入れられるレベルの人なら書いた人に連絡
取るだろうし。
>>137
普通は >>138 のようにした方がいいけど
{ local $" = '.'; print "@hoge"; }
というやり方もある。
0140nobodyさん
2006/03/08(水) 15:39:20ID:???続けざまで申し訳ないんですが
require 'cgi-lib.pl'
&ReadParse(*in)
@hoge = @in('a','b','c');
で@hogeの値を取った場合
もしa(@hoge[0])に値が入れられてなかったら,をいれないみたいな処理
はできるでしょうか?
>>138さんのやり方でやるってみたのですが
,b,c
みたいになってしまいます
0141133
2006/03/08(水) 15:54:17ID:???おっしゃるとおりで。
探しやすさとか読みやすさにかまけて正規ドキュメントのチェックを疎かにしてた僕が居ましたYO!って感じです。
勉強になりました。
0142nobodyさん
2006/03/08(水) 16:13:07ID:???>133みたく
foreach $aaa (@list){
ってやった場合、$aaaには実態じゃなくてリファレンスが入ってた
$aaaを別の値にしたら@listの内容も変った
0143nobodyさん
2006/03/08(水) 19:09:21ID:IC708NPT投稿された内容を表示する際、
投稿内容にアドレスがあればそれをそのアドレス先のリンクに置き換えたいと思っています。
まず、投稿内容から"http://"を探して次にそのアドレスの終わりを見つけ
アドレスの最初から終わりまでを置換しようとしています。
投稿内容から"http://"はindexをつかって見つけることが出来たのですが、
どうすればアドレスの終わりを見つけるのかが分かりません。
どのようなにすればアドレスの最初から終わりまでの位置を見つけることが出来ますか?
0144nobodyさん
NGNG0145nobodyさん
2006/03/08(水) 19:30:45ID:???0146nobodyさん
2006/03/08(水) 19:48:33ID:???文法が怪し過ぎるので一から勉強し直してくれ。
http://www.site-cooler.com/kwl/perl/2.htm
@hoge = grep defined && length, @in{'a','b'.'c'};
>>142
「リファレンスが入っている」とはこういう状態を指すんだけど。
print "$_\n" for my @ref_array = \(0..9);
print "$_\n" for my @num_array = (0..9);
実体に「別名」を付ける時は「エイリアス」と表現する事が多い。
http://www.kt.rim.or.jp/~kbk/perl5.005/perlsyn.html#Foreach_Loops
>>143
http://www.din.or.jp/~ohzaki/perl.htm#AutoLink
0147nobodyさん
2006/03/08(水) 21:45:07ID:???あ〜そうそれ
エイリアスってやつ
言葉間違えたorz
0148143
2006/03/08(水) 22:04:58ID:IC708NPTリンクに置換することが出来ました。
ありがとうございます。
0149nobodyさん
2006/03/10(金) 14:44:19ID:Uu8wqJhR変数「$daylimit」にaaaa/bb/cc(またはaaaa/b/c)の形で日付が格納されています。
これを元にソートしたいのです。
そこで疑問が2つあります。
1.aaaa/bb/ccからスラッシュを抜く方法(aaaa/bb/cc→aaaabbccにする)
2.1月または1日などの10の位がない時に0を付け足す方法(aaaa/b/c→aaaa0b0c)
これはどのようにしたら良いのですか?
方法を教えてください。お願いします。
0150nobodyさん
2006/03/10(金) 14:51:12ID:???ちなみに日付は文字列順になるから/は抜かなくてもおk
0151ヽ(´ー`)ノ ◆.ogCuANUcE
2006/03/10(金) 14:53:34ID:???1. split('/', $daylimit)
2. sprintf('%04d%02d%02d', split('/', $daylimit))
sort する時は sprintf() した結果を cmp で比べるといい。
0152nobodyさん
2006/03/10(金) 15:00:19ID:Uu8wqJhRということは、
$daylimit2 = sprintf('%04d%02d%02d', split('/', $daylimit)) ;
として、$daylimit2でソートしたらOKって事ですね。
ありがとうございました。
0153nobodyさん
2006/03/10(金) 20:49:15ID:???0154nobodyさん
2006/03/10(金) 20:55:15ID:???0155nobodyさん
NGNG0156nobodyさん
2006/03/11(土) 01:02:36ID:???よくある商品を選んだら注文フォームに飛ぶHPを作りたいのですが
注文フォームで すでに商品名が入力済みの形を取っている
を実現したいのですが
よろしくお願いします
0157nobodyさん
2006/03/11(土) 01:14:18ID:???0158nobodyさん
2006/03/11(土) 01:24:04ID:???type="text" なら、input のvalue に商品名入れな
0159nobodyさん
2006/03/11(土) 01:32:55ID:???質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
0160156
2006/03/11(土) 02:44:05ID:???まずタグから勉強して出直してきます
0161nobodyさん
2006/03/11(土) 03:03:59ID:2NEkCx5lソースに use encoding が入っていると、
デバッガ動かしたときに
「問題が発生したため、Perl Command Line Interpreter
を終了します。ご不便をおかけして申し訳ありません。」という
ポップアップが出てしまいます。
(-d 無しだと普通に動く)
インストールやりなおしたりしたんですが現象変わりません。
なぜ??
0162nobodyさん
2006/03/11(土) 04:37:32ID:???0163nobodyさん
2006/03/11(土) 05:06:27ID:???バグデータベースにも登録されてる。
ttp://bugs.activestate.com/show_bug.cgi?id=39261
漏れは回避方法知らん。
>>162
参考までに貴方の開発環境をお聞かせ願いたい。
cygwinのperl?それともPCのOSにLinuxかBSD辺りを常用してるとか?
0164nobodyさん
2006/03/11(土) 05:36:10ID:???0165nobodyさん
2006/03/11(土) 05:42:46ID:???> 参考までに貴方の開発環境をお聞かせ願いたい。
> cygwinのperl?それともPCのOSにLinuxかBSD辺りを常用してるとか?
VMware とか colinux とか知らない馬鹿ワロス
0166nobodyさん
2006/03/11(土) 06:04:34ID:???そうか、貴方はスクリプトを書いては一々仮想マシン上に移してテストしてるのか。
VMwareの共有フォルダ機能やSambaでも使って手軽にやってるのかな。
若しくは自動でFTP経由で変更分をアップロードするスクリプトでも組んでるか。
参考になった。ありがとう。
0167nobodyさん
2006/03/11(土) 06:23:19ID:???> そうか、貴方はスクリプトを書いては一々仮想マシン上に移してテストしてるのか。
> 若しくは自動でFTP経由で変更分をアップロードするスクリプトでも組んでるか。
その機械に ssh なり何なりでログインして書くという方法もありますよ?
0170nobodyさん
2006/03/11(土) 09:48:52ID:???0171nobodyさん
2006/03/11(土) 11:10:44ID:???0172nobodyさん
2006/03/11(土) 16:05:01ID:???my $mail=$form->Get('mail');
my $adc;
my $randam=int(rand(15));
if ($randam < 1){ $abc = q| ☆☆☆☆☆ | }
elsif ($randam < 2) { $abc = q| ☆☆☆☆☆ | }
が15行です
☆の部分に最初は顔文字が入って、正常に動いてたのですが
日本語に入れ換えたらエラーが出てうまくいきません
日本語で30文字ぐらい(改行有り)赤色の文字色で表示させたいのですが、どのように記述したらよろしいでしょうか?
puleは全然わからない初心者ですがよろしくお願いします
0173nobodyさん
2006/03/11(土) 16:18:52ID:???puleはヒドイ・・・
q|〜|は好きな記号をクォートにする構文。
この場合 | を使ってるので文字列中に | があれば問題になる。
sjis使ってるならこれらの文字の下位バイトも問題に。「−ポл掛弓芸旨酢掃竹倒怖掟」(一例)
q{〜}とかq!〜!とかq(〜)とかに変える。
あとはエラーメッセージの最後にエラー行載ってるからそれを参考に。
0175nobodyさん
2006/03/11(土) 17:14:12ID:???酷すぎる
0176nobodyさん
2006/03/11(土) 18:40:51ID:???となっている文字列を
AB,CD,EF,GH
という風に二文字ずつでリストに展開するにはどうすればよいですか?
元の文字列は必ず偶数個です。
0177nobodyさん
2006/03/11(土) 18:53:04ID:???print join( ' | ' , split( /(..)/, $str ) );
とかしてみたんですが、結果が
| AB | | CD | | EF
となって変な感じです。
AB | CD | EF
となってほしいのですがうまくいきません。
0178nobodyさん
2006/03/11(土) 18:54:15ID:???my $str = 'ABCDEFGH';
print join(',', $str =~ /../g), "\n";
print join(',', unpack '(A2)*', $str), "\n";
0179nobodyさん
2006/03/11(土) 19:00:40ID:???unpackでできました。
(A2)*なんてできたとは知りませんでした。
どうもありがとうございます。
0180172
2006/03/11(土) 19:22:03ID:???本当なんもわからないのですみませんです・・
見よう見まねで他のファイルと比べてみて適当にいじってしまいました。
少しネットで調べてみたのですが、初歩的なことがわかっていないため何がなになのかわからない状態です・・
>>173さん
sjisを使ってます。一例にあげてくださった文字や、文字列中にはlは使ってません
調べてみても良くわからなかったのですが、
文字化けする文字の後ろに「\」をつけたり「'」で文字列を挟んで対処するような?ことが載っていて
「'」で文字列を挟むことは試してみましたが駄目でした
あんま適当にいじっても良くないかな?試してません・・
レスを参考に少し勉強してみます・・
レスありがとうございましたm(_ _)m
0181nobodyさん
2006/03/11(土) 20:02:53ID:???0183nobodyさん
2006/03/12(日) 01:25:09ID:???MVC な cgi 以外配布禁止にしたらどうだろう。
0184nobodyさん
2006/03/12(日) 02:24:37ID:???0185nobodyさん
2006/03/12(日) 03:08:46ID:???0187172
2006/03/12(日) 09:02:35ID:???昨日見た専門のサイトは、難しいことばかりで
何がなんだかさっぱりでした
皆様の助言は初心者の私でもわかりやすく
検索しやすくとても参考になります。
本当、ありがとうございました
0188nobodyさん
2006/03/12(日) 10:16:50ID:???どこですか?
0189nobodyさん
2006/03/12(日) 22:15:07ID:???で「ー」と「−」を引っ掛けようと思っていたのですが、
なぜだか「−」のみ引っかかりません。
すみませんがご教示いただけますと幸いです。
0192nobodyさん
2006/03/12(日) 23:01:28ID:???「ー」\x81\x5B
「−」\x81\x7C
\x7Cは「|」
あとは調べられるよな
0194189
2006/03/12(日) 23:41:40ID:???文字コードはEUCです。
ttp://72.14.203.104/search?q=cache:rjjAEg1ykyIJ:www.susono.com/~sohei/memo/memo/perl_euc.html+&hl=ja&gl=jp&ct=clnk&cd=1&lr=lang_ja
ここを参考に書いていたのですが、引っかからなかったので
質問させていただきました。
皆さんご教示有難うございます。
これから色々試してみて報告させていただきます。
一つお聞きしたいことがあるのですが、例えば今回のように
「−」と入力して「\x**」というように変換してくれるようなサイト等
があればご教示いただきたい次第です。
度重なる質問ですみません。
0195190
2006/03/12(日) 23:50:59ID:???なんかそのサイトの記述が違ってるような。
'(?:\xA1[\xBC\xBD\xC1])' → ー―〜
'(?:\xA1[\xBC\xDD\xC1])' → ー−〜
だと思われ。
(真ん中の文字が微妙に違う)
> 「−」と入力して「\x**」というように変換してくれるようなサイト等
俺は UNIX で hd コマンドを使ってるけど、 Windows とかサイトはわかんない。すまん。
0196nobodyさん
2006/03/12(日) 23:51:39ID:???この程度のことを自分でやろうと思わないのなら、Perl のみならず、
あらゆるプログラム言語から手を引くべきだろうね。
また、仕事でやらされている状況なら、コンビニの店員のバイト、
もしくは、地面掘りの仕事に転職するべきかと。
0197nobodyさん
2006/03/13(月) 00:02:18ID:???print unpack "H*", "−";
と書いたファイルをeucで保存して実行するだけ。
俺は文字コード表使ってるが。
>>196
初心者スレに居ると身体に悪いぞ。
0199nobodyさん
2006/03/13(月) 01:42:55ID:???非常に参考になるアドバイス、誠に有難うございました。
後述しますが、おかげさまで変換プログラムで確認できる
ようになりました。
この場をお借りし御礼申し上げます。
文字コード表は後で探してみたいと思います。
>>196
おっしゃるとおりです。
返す言葉がございません。
反省点を踏まえ、プログラムを自分で作成してみました。
皆様の一つ一つのアドバイスを無駄にせぬよう、
自分でもできることをやってみました。
皆様には全く不必要のものかとは思いますが、今後私と
同じような問題を抱えた方がこのスレッドを見たときに少し
でも役に立てるよう、即席ではございますが変換プログラム
を作ってみました。晒しておきます。
ttp://whatever.say.jp/char_unpack.cgi
0200nobodyさん
2006/03/13(月) 02:39:54ID:???http://b.hatena.ne.jp/entrylist?url=http://whatever.say.jp%2F
http://b.hatena.ne.jp/entrylist?url=http%3A%2F%2Fwhatever.say.jp%2F&sort=eid
なんか興味深いね。
0202nobodyさん
2006/03/13(月) 09:08:48ID:???って閉鎖されてるようだけど何のHP?
0203nobodyさん
2006/03/13(月) 09:48:40ID:???http://b.hatena.ne.jp/entry/http://whatever.say.jp/program.html
http://b.hatena.ne.jp/entry/http://whatever.say.jp/program/snap_shot/
http://whatever.say.jp/weblog/
0204nobodyさん
2006/03/13(月) 11:11:11ID:???0205149
2006/03/14(火) 11:00:15ID:K408BhkZ前回どこよりもすばやく的確な解答を得ることができたので、またまた頼らせていただきます。
前回は「日付からスラッシュを抜きそれでソートする方法」等を教えていただいたのですが、それを別の場所でも利用しようと考えました。
データの自動非表示とでも言えばいいのかな?指定日になったら自動で一部データを非表示にするという物です。
考えとしては以下のような感じです。
1.表示非表示はチェックボックスで行う。チェックが入っていればその情報を表示という感じで。
もちろん、その変数は空白か1が入り、1ならcheckedとする。
2.CGIに良くありがちな日付取得より年月日を取得する。
3.掲載期限とシステム日付を比較し、「システム日付≧掲載期限」であれば表示チェックを空白にする
4.勝手に消えてくれてウマー
こんな感じです。
イベント情報掲載とか新譜発売情報なんかにも応用が利くんじゃないかと。
で、ない頭をフルに使って以下のようにやってみました。もちろんですが、元となるCGIや他のCGIから切り張りしたものです(;´∀`)
保存してある変数は、不必要だと思うものは消しちゃったので、上下でずれがあるかもしれませんが、脳内変換お願いします。
・・・
で、下にソース貼り付けたら文字数オーバーしたので、とりあえずここまで。
0206149
2006/03/14(火) 11:00:39ID:K408BhkZ----------------
sub check{
$cview2 = "";
&get_time;
open(IN,"$logfile") || &error("Open Error : $logfile");
@lines = <IN>;
close(IN);
foreach $lines (@lines) {
($no,$year1,$month1,$day1,$name,$sub,$com,$cview,$climit〜〜) = split(/<>/,$lines);
chomp;
#日付チェック手順1 : 日付を変換
if($climit){
$climit2 = sprintf('%04d%02d%02d', split('/', $climit)) ;
#日付チェック手順2 : 日付を比較
if ($sysdate2 >= $climit2) {
$_ = "$no<>$year1<>$month1<>$day1<>$name<>$sub<>$com<>$cview2<>$climit<>〜〜\n";
print OUT $_;
}#if閉じ
}#if閉じ
}#foreach閉じ
close(OUT);
}
----------------
しかし、変化無しです。「$cview」は1のままです。
ルーチンの実行はライブラリ読み込みの次ぐらいに行っているので、CGI実行で必ず動作するはずなのですが…
どこが間違っているのでしょうか?採点お願いします。
0207nobodyさん
2006/03/14(火) 11:39:47ID:???を
int($sysdate2) >= int($climit2)
にしたらどうなる?
0208149
2006/03/14(火) 11:48:44ID:K408BhkZ>int($sysdate2) >= int($climit2)
うーん。変化無しです。
というか、変化しているかどうかがまったくわかんないですよね。
どうにかして変数などがちゃんと反映されているかって確認できないですかね?
0209nobodyさん
2006/03/14(火) 11:50:57ID:???仕事かよ。
0210nobodyさん
2006/03/14(火) 11:52:11ID:???採点を求めているわけだから、採点してあげればいいんだよね。
正常に動作するコードは不要と。
0211nobodyさん
2006/03/14(火) 11:53:18ID:???藻前が勝手に消えてくれると(゚д゚)ウマー
0212nobodyさん
2006/03/14(火) 12:11:21ID:???マルチだったのかよ
0213nobodyさん
2006/03/14(火) 12:41:09ID:???0214149
2006/03/14(火) 14:29:16ID:K408BhkZとりあえず、釣りかもしんないけど、マジで解答ほしいので、マジレスしてみる。
>>209
何ゆえその1行で仕事と判断?丁寧に記入するヤツはすべて仕事なの?
>>210
確かに、これはおかしい。ごめんね。採点じゃなくて、校正・訂正・指導、まぁ何でも良いけど、動くように教えてplz
>>211
あんたのような揚げ足取りが消えてくれた方が2chシステム的にはウマーだと思うが?
>>212
某Q&Aサイトで質問→解答なし。→質問削除→さらに別のQ&Aサイトで質問→有効回答なし。→質問終了→2chに書き込み→即日解答。しかもビンゴ!
どこがマルチよ?
厨房か工房かしらんが、言葉遣いもそれなりにあわせてみたよ。
0216nobodyさん
2006/03/14(火) 14:52:48ID:???> 某Q&Aサイトで質問→解答なし。→質問削除→さらに別のQ&Aサイトで質問→有効回答なし。→質問終了→2chに書き込み→即日解答。しかもビンゴ!
どう見てもマルチです、本当に(ry
そういう場合は、ここで聞いたけど回答が無かったと、元の質問を示すのが慣例。
もしくは事前に断わるか。
0217nobodyさん
2006/03/14(火) 14:58:34ID:???その言い分を真に受けるとすると、前の質問が close してから質問してるみたいだし、
そゆのはマルチとは言わないんじゃね?
0218nobodyさん
2006/03/14(火) 15:03:25ID:???それなら「他のところで質問をしたけど答えが出なかった」だけでもいいから、
事前に断わるべきだろう。
答える奴だって人間だから、感じ悪いと思う奴だっているよ。
それぐらい、常識で判断してほしい。
0219nobodyさん
NGNGこれ何か意味あんのか。
つーかYahoo掲示板でも行けよカス
0220nobodyさん
2006/03/14(火) 15:20:39ID:???事前に断りがあるかどうかは別にして、
>>212で
>> 前回どこよりもすばやく
>マルチだったのかよ
この1行でマルチと決め付ける必要性も無いと思うがな
>>212 =>>218
だった場合、オマエに常識を語る資格はそうないと思われ
0223nobodyさん
NGNG馬鹿と馬鹿が煽り合ってんの
見てて楽しいからもっとやれよ
0224nobodyさん
2006/03/14(火) 16:03:40ID:???0227nobodyさん
2006/03/14(火) 16:47:10ID:???0228nobodyさん
2006/03/14(火) 16:54:23ID:???0229nobodyさん
2006/03/14(火) 17:04:47ID:???答えてあげたい気持ちは満々なのだが、
いかんせん質問の意味がさっぱりわからないので答えようがない。
0231nobodyさん
2006/03/14(火) 20:12:03ID:???こんな感じので、コメント中にURLが含まれる場合
そのURLへのリンクを作成して
表示される文字列はURLではなく
「外部リンク」とか任意の文字列にしたい場合はどのようにすれば良いのでしょうか?
0232nobodyさん
2006/03/14(火) 20:28:50ID:???0233nobodyさん
2006/03/14(火) 20:48:54ID:???</a>直前の $1 とか $2 の部分を 外部リンク とでも書き換えてください
0234nobodyさん
2006/03/14(火) 23:21:54ID:???あいかわらずのスキルなんでつね。w
0235nobodyさん
2006/03/14(火) 23:26:28ID:???0237nobodyさん
2006/03/14(火) 23:31:05ID:???0240nobodyさん
2006/03/19(日) 10:45:53ID:???$a = "あいうえおかきくけこ$x{'TEST'}たちつてとなにぬねの";
の場合と
$b = "あいうえおかきくけこ".$x{'TEST'}."たちつてとなにぬねの";
とか
$c = 'あいうえおかきくけこ'.$x{'TEST'}.'たちつてとなにぬねの';
って感じで連結するのはどれが一番お薦め?
連結をあまり好ましくないっぽい書き方してる書き込みを昔見た気がするので、
$aのやり方の方がいいのかなとも思ったけど、
負荷的にはなるべくシングルクォーテーション使ったほうがよさそうだしで、ちょっと迷ってまっす。
ひょっとしたら連結の方が負荷高かったりしたら元も子もないし・・・
0241nobodyさん
2006/03/19(日) 11:08:41ID:???0242nobodyさん
2006/03/19(日) 11:31:18ID:???適材適所です。
頑なに法則を守っていると可読性が落ちたりします。
速度を考えるなら、連結自体から見直せば良いかもしれません。
0243nobodyさん
2006/03/19(日) 11:52:52ID:???strcat しまくるべきだな。
0244nobodyさん
2006/03/19(日) 12:12:44ID:???2番目と3番目は内部では全く同じコードとして実行される。
1番目との比較は、実装や環境に依存。
なので、自分の対象とする環境でベンチマークとりなされ。
0245nobodyさん
2006/03/19(日) 12:50:57ID:???> 2番目と3番目は内部では全く同じコードとして実行される。
クオートの違いがあるので、全く同じであるはずがないと思われ。
0247nobodyさん
2006/03/19(日) 13:37:59ID:???0248nobodyさん
2006/03/19(日) 14:01:44ID:???>>246
> そう思うならコード覗いてみ
で、どの部分で同じ処理をしているのか、具体的に提示してよ。
0249nobodyさん
2006/03/19(日) 15:23:23ID:???ttp://allabout.co.jp/career/cgiperl/closeup/CU20050131A/index3.htm
ここ参考にしてそのままコピペしてもエラーになるのはなんで?
モジュールはちゃんとインストールされてる
0250nobodyさん
2006/03/19(日) 15:47:58ID:???1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
0251nobodyさん
2006/03/19(日) 15:56:26ID:???よーしパパ暇だから両者の言い分を解説しちゃうぞー
>>244の言い分
$ perl -MO=Terse -e 'qq[hoge].$x.qq[fuga]'
$ perl -MO=Terse -e 'q[hoge].$x.q[fuga]'
を見るとバイトコードレベルで行われる処理は同じである。
>>245の言い分
パーサが変数の展開を考慮しなくてはいけなくなるのだから、
""の方が必要な処理は多いはずだ。
で、5.8.7でバイトコードを覗いてみると、""はパース時に中に変数展開が
含まれていた場合のみ連結を行うバイトコードに変換されるので、
そんなに気にする必要はないと思われる。古いバージョンではどうか知らないけど。
それよりも可読性等を重視するべきだと思う。
0252nobodyさん
2006/03/19(日) 16:03:07ID:???こんな古い言葉使ってる老人って・・・。
0253nobodyさん
2006/03/19(日) 17:56:12ID:???\"でエスケープした場合も実は対して気にするレベルじゃ無さそうなのかな。
0254nobodyさん
2006/03/19(日) 17:59:18ID:???0255nobodyさん
2006/03/19(日) 18:10:48ID:???負荷が馬鹿にならないレベルだと、ちょっとの差が大きな違いになりそうじゃない?
0256nobodyさん
2006/03/19(日) 18:12:55ID:???モジュール同士、CGIで動作のどちらでやっても速度はperl>phpになるだろうし、
perl以外に良い選択肢ってそもそも有るんだろうか。
Cは流石にだるいし。
0257nobodyさん
2006/03/19(日) 18:15:33ID:???0258nobodyさん
2006/03/19(日) 18:15:59ID:3oCqRbiL0259nobodyさん
2006/03/19(日) 18:22:14ID:???phpは軽い早いって嘘って事?
0260nobodyさん
2006/03/19(日) 18:27:56ID:???大きな違いがある場所では、xs とか書けばよいのでは?
んで、そんなものを鯖 1 台でさばくんかね?
> phpは軽い早いって嘘って事?
一部嘘かもね。ぐぐればいろいろベンチあるぞ。
0261nobodyさん
2006/03/19(日) 18:36:18ID:???0262nobodyさん
2006/03/19(日) 18:46:28ID:???0263nobodyさん
2006/03/19(日) 18:49:15ID:???perlcc -B
0264nobodyさん
2006/03/19(日) 21:10:06ID:???ただ、眉毛剃ると空気抵抗が減って走るの早くなるよ、
ってのと同じレベルの話なわけだが。
まぁ、初心者でもできるしお手軽だわなw
0265nobodyさん
2006/03/19(日) 21:11:40ID:???0266nobodyさん
2006/03/19(日) 21:22:33ID:???0267nobodyさん
2006/03/19(日) 21:27:36ID:???0268nobodyさん
2006/03/19(日) 21:28:35ID:???0269nobodyさん
2006/03/19(日) 21:41:19ID:???結局、そういうことだよね。
' ' の方が速くなる気がして気持ちぃー (気のせい) って香具師はそうすりゃいいし、
開発効率&可読性を取るぜー (現実的) って香具師はそうすりゃいい。
0270nobodyさん
2006/03/19(日) 21:42:41ID:???どうせ色分けしてるし。
0271nobodyさん
2006/03/19(日) 21:48:41ID:???0272nobodyさん
2006/03/19(日) 21:56:33ID:???0273nobodyさん
2006/03/19(日) 22:00:31ID:???0274nobodyさん
2006/03/19(日) 22:29:27ID:???0275nobodyさん
2006/03/19(日) 22:33:21ID:???> perlcc -B
こういう運用ってしてるの見たことがないなぁ。
0276nobodyさん
2006/03/19(日) 22:39:47ID:???0277nobodyさん
2006/03/19(日) 22:47:43ID:???> perlcc -B
と
> mod_perl使えってことでは
が同値であるということにしたいのですか?
0278nobodyさん
2006/03/19(日) 22:55:36ID:???0279nobodyさん
2006/03/19(日) 22:55:54ID:???mod_perlも用意してなかった環境でチャットスクリプトを動かすときに一度だけ実際にやったことがある。
もう忘れたけどtimeを取ってみたら確か200ms位が80ms位になったと思った。
0284nobodyさん
2006/03/20(月) 11:06:50ID:???0285nobodyさん
2006/03/20(月) 11:19:22ID:???0286nobodyさん
2006/03/20(月) 11:32:49ID:???0287nobodyさん
2006/03/20(月) 12:26:15ID:???0288nobodyさん
2006/03/20(月) 12:34:37ID:???と
open FILE,"< hoge.cgi";
の違いはないみたいだけど正しいのはどっち?
0290nobodyさん
2006/03/20(月) 16:59:39ID:f3pQ7Duw24時間(0時)に一度処理を行うというcgiを作りたいのですが、
どうすればいいでしょうか?
多分スレッドなどを使うことになるとは思うのですが、
その処理が動いている間は、同じ処理が二重で動かないようにしたいです。
シーケンスとしては以下のようなものをイメージしているのですが・・・。
main {
ボタンを押す;
if(既にスレッドが立ち上がってなかったら){
スレッドで th 実行;
}else{
print "既に起動中です。";
}
}
sub th{
while(1){
if(0時になったら){
処理実行;
}
}
}
よろしくお願いします・・・m(_ _)m
0292nobodyさん
2006/03/20(月) 17:14:33ID:f3pQ7Duwどもです!
すみません、環境を書いていませんでした・・・。
環境が開発がWindows環境で、実際に稼動させるのがLinuxなんですよね。
テストの面などからできれば、環境に依存しない方法はないでしょうか?
0293nobodyさん
2006/03/20(月) 17:18:02ID:???ただ、あなたの現状では使えるようになるまで莫大な時間を要するでしょうけど。
0294nobodyさん
2006/03/20(月) 17:26:03ID:???いずれにしろCGI&スレッドでやるべき仕事じゃあないでしょ。
0295nobodyさん
2006/03/20(月) 17:28:55ID:???ってことで、
> Windows なら「タスク」とかも使えるんじゃないかな。
ってのはだめだとおもう。
0296nobodyさん
2006/03/20(月) 17:30:39ID:???アクセスした時にtimeで時間取得して、設定時間以上経ってたら
実行+次回の実行時間(全開の実行時間+間隔)に書き換えでダメなん?
0297nobodyさん
2006/03/20(月) 17:32:24ID:???> 実行+次回の実行時間(全開の実行時間+間隔)に書き換えでダメなん?
それって、0 時に複数のアクセスがあった場合どうなる?
やっぱ初心者が初心者の質問に初心者知識で答えるスレだね。
0298nobodyさん
2006/03/20(月) 17:38:18ID:???そんなにシビアに考えないといけないもの?
0299nobodyさん
2006/03/20(月) 17:41:52ID:???> まず、実行予定時間の書き換えしてから、引き続き処理なら問題なさそうに感じるけど、
nfs 上にファイルがあったらどうなるだろう。
0300nobodyさん
2006/03/20(月) 17:47:20ID:???だけど、考慮しないといけないものなの?
普通にデータをtmpに出力して入れ替えるなら気にしなくて良さそうに感じるけど。
0301nobodyさん
2006/03/20(月) 17:48:10ID:???0302nobodyさん
2006/03/20(月) 17:50:41ID:???0303290
2006/03/20(月) 18:30:28ID:f3pQ7Duw>>296
>>298
の両氏のやり方でも、機能上は構わないと思うのですが、
なんかお客さんにケチつけられそうなので、
できればユーザー任せなやり方は避けたいのです。
また>>297氏のようなパターンも考えなくてはいけないので・・・。
0304nobodyさん
2006/03/20(月) 18:37:31ID:???藻前が VMware Player で実験環境作れば済むはなししではないよね。
Perl on Windows なり Cygwin でどれだけ工夫するかってのが争点だもんね。w
0305nobodyさん
2006/03/20(月) 19:59:01ID:???アクセスがあったときにファイルロックする
データファイル読む
実行時日付と前回の日付が異なれば実行
処理
ロック解除
普通の処理ジャマイカ
0306nobodyさん
2006/03/20(月) 21:47:27ID:???0307nobodyさん
2006/03/20(月) 21:48:19ID:???そんなことも判断できない奴に委託しているとは、客が可哀想すぎる。
0308nobodyさん
2006/03/20(月) 21:57:43ID:???その一回の処理のときに複数実行されたらどうすんだヴァカ
0311nobodyさん
2006/03/21(火) 02:12:17ID:???説明希望されると居なくなったし。
0312nobodyさん
2006/03/22(水) 16:11:05ID:1dP8qtcFテストhttpサーバ上では問題なく動作したのですが、apacheで動作させようとしたところ
Internal Server Error が出ます。
原因は ./script/app_cgi.pl を起動すると
Use of uninitialized value in string ne at /Library/Perl/5.8.6/Catalyst/Engine/CGI.pm line 63.
Use of uninitialized value in numeric eq (==) at /Library/Perl/5.8.6/Catalyst/Engine/CGI.pm line 83.
Use of uninitialized value in pattern match (m//) at /Library/Perl/5.8.6/Catalyst/Engine/CGI.pm line 128.
がContent-type より先に出力されている模様。。。
どうすればこの「Use of uninitialized value」消せますか?教えてエロ委人。
0313nobodyさん
2006/03/22(水) 19:12:48ID:???もし -W で動作したいなら CGI.pm の該当行の初期化されてない変数への参照部分を
書き換えてやればいいかと思う
0314nobodyさん
2006/03/22(水) 19:53:47ID:???これらの環境変数が渡ってこないapacheも珍しい
気がする。
63 last PROXY_CHECK if $ENV{REMOTE_ADDR} ne '127.0.0.1';
83 if ( $ENV{SERVER_PORT} == 443 ) {
128 last PROXY_CHECK if $host !~ /localhost|127.0.0.1/;
$hostの値を入れてるのは
113 my $host = $ENV{HTTP_HOST} || $ENV{SERVER_NAME};
実行環境おかしくない?
0315nobodyさん
2006/03/22(水) 20:12:30ID:???0316nobodyさん
2006/03/22(水) 20:37:57ID:???0317nobodyさん
2006/03/22(水) 22:05:59ID:???internal server errorになってる原因は別にあると見た。
apacheのエラーログをちゃんとさらした方が回答つきやすいと思われる。
コンソールで実行してもいいけどうまく環境あわせて作ってやらないと
意味ないよ。
0318nobodyさん
2006/03/23(木) 18:41:32ID:b3UifQ+V<weblog name="ほげ山ほげ男" url="http://hoge.com" where="saitama" />
<weblog name="ほげ川ほげ子" url="http://hoge.com/hoge/hoge.html" where="nagano" />
<weblog name="ほげ本ほげ太" url="http://hoge.com/hoge3/hoge.html" where="gunma" />
</weblog1>
↑から、name(氏名)とurlのみを抽出するようにするにはどのように書いたらよいでしょうか?
具体的には、一行ごとに読み込んで↓のような形にしたいのですが。
ほげ山ほげ男 → http://hoge.com<br>
ほげ川ほげ子 → http://hoge.com/hoge/hoge.html<br>
ほげ本ほげ太 → http://hoge.com/hoge3/hoge.html<br>
0319nobodyさん
2006/03/23(木) 19:07:35ID:???$weblog_name = $1;
$weblog_url = $2;
$weblog_where = $3;
すげぇ適当w
0321nobodyさん
2006/03/23(木) 20:35:16ID:???#!/usr/bin/perl
m|^\s*<weblog\s+name="([^"]*)"\s+url="([^"]*)"\s[^>]*/>|
&& print "$1 → $2<br>\n" while <DATA>;
__DATA__
<weblog1>
<weblog name="ほげ山ほげ男" url="http://hoge.com" where="saitama" />
<weblog name="ほげ川ほげ子" url="http://hoge.com/hoge/hoge.html" where="nagano" />
<weblog name="ほげ本ほげ太" url="http://hoge.com/hoge3/hoge.html" where="gunma" />
</weblog1>
0322318
2006/03/23(木) 20:36:55ID:???馬鹿ばっかりですね。ここ。
0324nobodyさん
NGNG0325nobodyさん
2006/03/23(木) 21:54:35ID:???長くてもいいんならホレ
while (<DATA>) {
@pair = split / /;
foreach (@pair) {
s/"//g;
($name, $value) = split /=/;
print "$value → " if ($name eq "name");
print "$value<br>\n" if ($name eq "url");
}
}
exit;
__DATA__
<weblog1>
<weblog name="ほげ山ほげ男" url="http://hoge.com" where="saitama" />
<weblog name="ほげ川ほげ子" url="http://hoge.com/hoge/hoge.html" where="nagano" />
<weblog name="ほげ本ほげ太" url="http://hoge.com/hoge3/hoge.html" where="gunma" />
</weblog1>
0326nobodyさん
2006/03/23(木) 21:59:32ID:???0327nobodyさん
2006/03/23(木) 23:05:38ID:???わざわざ小一時間かけなくともすべて解決なのでは。
0328nobodyさん
2006/03/23(木) 23:07:22ID:???0329nobodyさん
2006/03/23(木) 23:19:38ID:???俺は幼稚園児だから、このスレの内容は役に立つぜ
0331ヽ(´ー`)ノ ◆.ogCuANUcE
2006/03/24(金) 00:14:44ID:???my $xml = XMLin('test.xml');
my %hash = map { $_ => $xml->{'weblog'}->{$_}->{'url'} } keys %{$xml->{'weblog'}};
これでいいんか。
0332nobodyさん
2006/03/24(金) 01:37:23ID:???普通に読めません
解説おながいm(_ _)m
0333ヽ(´ー`)ノ ◆.ogCuANUcE
2006/03/24(金) 04:53:24ID:???何が分かんないの?
0334nobodyさん
2006/03/24(金) 07:11:35ID:???0335nobodyさん
2006/03/24(金) 08:44:36ID:???/^<weblog .*\/>/ or next;
my ($name) = /name="([^"]+)"/;
my ($url) = /url="([^"]+)"/;
print "$name → $url<br>\n";
}
こんなのでいいじゃん。
0336nobodyさん
2006/03/24(金) 14:43:34ID:???0337nobodyさん
2006/03/24(金) 15:23:55ID:FdXgD3Atprint "A:".$num."\n";
$num = int($num);
print "B:".$num."\n";
上記のスクリプトの出力が
A:115
B:114
になってしまうのですが
どうしてでしょうか?
0338ヽ(´ー`)ノ ◆.ogCuANUcE
2006/03/24(金) 15:33:13ID:???そういうもん。これが一番良くまとまってるかな。
ttp://d.hatena.ne.jp/babie/20051212
0339337
2006/03/24(金) 15:40:10ID:FdXgD3Atサンクスです
use Math::BigFloat;
を使うことにしました
0340nobodyさん
2006/03/24(金) 16:27:21ID:vZMLwEvxmy $random_code = shift @lines;
chomp $random_code;
# 投稿コードとログのコードを比較して合ってなければ
if ($FORM{'submit_code'} ne $random_code) {
&Error("Error: あなたの直前に書き込んだ人がいるため,投稿コードが更新されています。<BR>リロードしてからもう一度書き込んで下さい。");
}
# 新しい投稿コードを生成。srand は既にやってあるので省略
my $new_random_code = int(rand(100000));
これをkentweb対応にしたいんだけど何処を変えればいいんですか?
教えてください。
0341nobodyさん
2006/03/24(金) 17:25:06ID:???0342長猫@MFC屋さん
2006/03/25(土) 00:17:26ID:???直すポイントは3つです。
1.書き込みをログファイルに保存するとき
⇒ログファイルの先頭行に、ランダムな文字列の行(これを投稿コードとします)を保存するようにして下さい。
2.書き込みを画面に表示するとき
⇒ログファイルの先頭行から1.のランダムな文字列の行(投稿コード)を読み出し、
入力フォーム内にhiddenパラメータとして埋め込んで下さい。
3.書き込み実行して、フォーム内容をチェックするとき
⇒ログファイルの先頭行から投稿コードを読み出し、
2.で入力されたhiddenパラメータと一致するか判定して下さい。
一致しなかったら
"Error: あなたの直前に書き込んだ人がいるため,投稿コードが更新されています。
リロードしてからもう一度書き込んで下さい。"
等のエラー画面を表示するようにして下さい。
一致したら、また新たな投稿コードを作成して、ログファイルの先頭行に保存して下さい。
以上。
0343nobodyさん
2006/03/25(土) 05:40:14ID:???・ほにゃらら
<input type="test" name="ほにゃらら" size="30" value="">
</FORM>
-----------------------------------------
shtml(SSI)に、フォームメールのスキンを書いてます。
<!--#echo var="環境変数"-->これを、valueの中に
入れたいんですが、そのまま書いたらエラーでました。
perlだとvalue=$ENV{'環境変数'}でいけるんですが。
よろしくお願いします。
0345nobodyさん
2006/03/25(土) 12:00:18ID:???0347nobodyさん
2006/03/28(火) 12:50:58ID:???0348nobodyさん
2006/03/28(火) 16:29:29ID:giiJxdDY<input type=checkbox name=ch2 value="2,">い
<input type=checkbox name=ch3 value="3,">い
<input type=checkbox name=ch100 value="100,">ん
このような感じで沢山のチェックボックスを元に、formでPOSTした時、
チェックされている全てのチェックボックスのvalue値を繋げて、
"1,2,3,4,〜100,"のような形で、$strにいれたい場合、
$str = $in{'ch1'}.$in{'ch2'}.$in{'ch3'}.…$in{'ch100'};
のような表記しかないのでしょうか?
チェックボックスの数は変動するので、
forを使って、もっと綺麗に書けないものかな?と、思いましたので。
0349nobodyさん
2006/03/28(火) 16:41:50ID:???そこまで解ってるならなぜ書けない…
$str = '';
$str .= $in{"ch$_"} for 1..100;
0350nobodyさん
2006/03/28(火) 16:50:44ID:???$str = join "", map $in{$_->[0]}, sort {$a->[1]<=>$b->[1]} map [$_,/(\d+)/], grep /^ch\d+/, keys %in;
うざくなった・・・orz
0351nobodyさん
2006/03/28(火) 17:33:05ID:???0352nobodyさん
2006/03/28(火) 17:50:12ID:???解説してるサイトが結構少なくて、コード見てなんとなく判るようにはなったんだけど、
基本がなってないからちょっと不安だったり。
0353nobodyさん
2006/03/28(火) 18:13:47ID:???0354nobodyさん
2006/03/28(火) 18:30:55ID:???0355nobodyさん
2006/03/28(火) 20:08:02ID:???って感じ?
0356nobodyさん
2006/03/28(火) 22:34:04ID:???とかね。
Perlの旨味がホンのちょっとだけど染みこんでると最近感じるようになった。
0357nobodyさん
2006/03/28(火) 22:36:22ID:???0358nobodyさん
2006/03/28(火) 23:34:57ID:???0359nobodyさん
2006/03/29(水) 05:38:58ID:???括弧を書いてるならまだホントの旨みを味わってない。
Perlの真骨頂は如何に少ないタイプでコーディングするかにある。
0361nobodyさん
2006/03/29(水) 07:17:11ID:???ふつー print join("\n", @array);
0363nobodyさん
2006/03/29(水) 07:59:38ID:???0365nobodyさん
2006/03/29(水) 11:08:43ID:???つ\n
0366nobodyさん
2006/03/29(水) 12:10:29ID:???0367nobodyさん
2006/03/29(水) 13:40:08ID:???0368nobodyさん
2006/03/29(水) 13:52:08ID:???0369nobodyさん
2006/03/29(水) 13:53:27ID:???0370nobodyさん
2006/03/29(水) 14:09:04ID:???本気でそう思ってるのか?考え方の矯正をお薦めする。
遅いし、printを繰り返すし、無駄な変数使うし、良いとこなしだ。
レス返されてムキになってる訳じゃなくて、それが素の考え方ならある意味凄い。
0371nobodyさん
2006/03/29(水) 14:11:52ID:???うちなんか16倍も差が出たよ。
こんだけ早いならjoin使おうかな・・・
ちなみに下の2つでは微妙にmapのが早かった。
print "$_\n" for @array;
print map "$_\n", @arrray;
0372nobodyさん
2006/03/29(水) 14:23:46ID:???じゃあ、最後の "\n" がはみごになるのは気持ち悪くないの?
これが自然と思うのが Perl 流だというのなら仕方ないけど、
俺はものすごく気持ち悪くて仕方がない。
0373370
2006/03/29(水) 14:30:31ID:???確かに気持ち悪い。でも、組み込み関数を使えるところは使うのが基本だし、
その一つとさっき挙げた数点を比べたら、その一つの点の為に他を犠牲にすることは出来ない。
0374nobodyさん
2006/03/29(水) 14:40:23ID:???0375nobodyさん
2006/03/29(水) 14:41:08ID:???俺なら、例え 16倍も速度差が出たとしても、
本当にそこがボトルネックで困っているようなケースでないのであれば、
読み下せて意味が明確でわかりやすい方を取るけどな。
0376nobodyさん
2006/03/29(水) 14:46:11ID:???if ($regist_key) {
$cd = $in{'code'};
$cd =~ s/\D//g;
if ( $cd =~ m/^\d{5}$/ ) {
$les = $addr;
$les =~ s/\D//g;
$les =~ /^(\d{5})(\d+)/;
$les = $1;
$cod = $cd + $les;
$cod =~ /^(\d{4})(\d+)/;
$cod = $1;
}
if ($cod ne $in{'regikey'}) { $err .= "投稿コードが不正です。<br>"; }
}
0377376
2006/03/29(水) 14:47:57ID:???# 投稿コード作成
sub key_image {
@num = (0 .. 9);
srand;
foreach (1 .. 5) {
$regikey .= $num[int(rand(@num))];
}
$les = $addr;
$les =~ s/\D//g;
$les =~ /^(\d{5})(\d+)/;
$les = $1;
$nu = $regikey + $les;
$nu =~ /^(\d{4})(\d+)/;
$nu = $1;
# テキストコード表示
print "<input type=text size=5 value=$nu>\n";
}
この中に使われない物は入ってます?
0378nobodyさん
2006/03/29(水) 14:51:18ID:???2,a,梨
3,b,西瓜
4,b,イチゴ
5,a,桃
のようなtest.txtというファイルを元に、
2つめの項目がaのを抜き出し表示する為に、
open(IN,"test.txt") || &error("Open Error: $logfile");
while (<IN>) {
($no,$type,$name) = split(/,/);
if ($type eq 'a') {
print "$name<br>\n";
}
}
close(IN);
とwhileで全行回すしかないのでしょうか?
0379nobodyさん
2006/03/29(水) 16:36:14ID:???正規表現やgrep等でもOK。
my $in = join( '', <> );
my @result = $in =~ /^\d+,a,.*$/gm;
my @in = <>;
my @result = grep { /^\d+,a,.*$/ } @in;
文法チェックもしてないけど、こんな感じで。
1つめの1行目は、my $in; { undef $/; $in = <>; }
とかの方が丁寧だけど。
0380nobodyさん
2006/03/29(水) 16:38:19ID:???あ、1個目
- my @result = $in =~ /^\d+,a,.*$/gm;
+ my @result = $in =~ /^(\d+,a,.*)$/gm;
だった。
他にも間違ってるとこあるかも。
0381nobodyさん
2006/03/29(水) 17:20:47ID:???0382nobodyさん
2006/03/29(水) 18:46:24ID:???0383nobodyさん
2006/03/29(水) 19:24:01ID:???0384nobodyさん
2006/03/29(水) 19:54:55ID:???100万回でチェック
push (@array, rand) for (1..100000);
print "$_\n" foreach @array; ### 0.91 CPU [3]
print join "\n", @array; ### 0.54 CPU [2]
local $, = "\n"; print @array; ### 5.11 CPU [5]
print map "$_\n", @arrray; ### 0.39 CPU [1]
print $_, "\n" foreach @array; ### 0.93 CPU [4]
local $,が目立って遅かった…
0388nobodyさん
2006/03/29(水) 22:08:29ID:???push @array, rand for 1..100000;
timethese(100,
{
q{print STDERR "$_\n" foreach @array} => sub {print STDERR "$_\n" foreach @array},
q{print STDERR join "\n", @array} => sub {print STDERR join "\n", @array},
q{local $, = "\n"; print STDERR @array} => sub {local $, = "\n"; print STDERR @array},
q{print STDERR map "$_\n", @array} => sub {print STDERR map "$_\n", @array},
q{print STDERR $_, "\n" foreach @array} => sub {print STDERR $_, "\n" foreach @array},
});
print STDERR join "\n", @array: 2 wallclock secs ( 1.84 usr + 0.03 sys = 1.88 CPU) @ 53.33/s (n=100)
print STDERR "$_\n" foreach @array: 16 wallclock secs (11.66 usr + 3.94 sys = 15.59 CPU) @ 6.41/s (n=100)
print STDERR map "$_\n", @array: 22 wallclock secs (19.12 usr + 3.47 sys = 22.59 CPU) @ 4.43/s (n=100)
local $, = "\n"; print STDERR @array: 23 wallclock secs (16.55 usr + 6.75 sys = 23.30 CPU) @ 4.29/s (n=100)
print STDERR $_, "\n" foreach @array: 25 wallclock secs (17.66 usr + 6.83 sys = 24.49 CPU) @ 4.08/s (n=100)
0389388
2006/03/29(水) 22:12:56ID:???0390nobodyさん
2006/03/29(水) 22:23:16ID:???わからにゃい。。
0391nobodyさん
2006/03/29(水) 23:31:28ID:???# mapブロック版と$"使用版を追加してます。
# 出力結果が同じになるようjoinに,"\n"追加してます。
print STDERR join("\n", @array),"\n": 2 wallclock secs ( 1.47 usr + 0.01 sys = 1.48 CPU) @ 67.57/s (n=100)
local $" = "\n"; print STDERR "@array\n": 2 wallclock secs ( 1.75 usr + 0.01 sys = 1.76 CPU) @ 56.82/s (n=100)
print STDERR "$_\n" foreach @array: 10 wallclock secs ( 7.57 usr + 2.44 sys = 10.01 CPU) @ 9.99/s (n=100)
print STDERR map "$_\n", @array: 13 wallclock secs (10.34 usr + 2.56 sys = 12.90 CPU) @ 7.75/s (n=100)
print STDERR map {"$_\n"} @array: 13 wallclock secs (10.47 usr + 2.54 sys = 13.01 CPU) @ 7.69/s (n=100)
local $, = "\n"; print STDERR @array: 14 wallclock secs ( 8.49 usr + 5.18 sys = 13.67 CPU) @ 7.32/s (n=100)
print STDERR $_, "\n" foreach @array: 15 wallclock secs (10.38 usr + 5.03 sys = 15.41 CPU) @ 6.49/s (n=100)
最初はlocalのせいで遅いのかとも思ったけど違うみたい。
内部で、$"はjoin、$,はmapあたりを使ってるなじゃないかと。
0392nobodyさん
2006/03/29(水) 23:58:21ID:???これって省略無しで書くとどんな感じ?
他はなんとなく処理がわかるけど、これだけ判らない。
解説プリーズ。
0393356
2006/03/29(水) 23:59:36ID:???0394352
2006/03/30(木) 00:05:57ID:???倒置っていうか、>>358が言うみたいな後置きの事です。
意味不明な言葉を補完してくれた人感謝。
やっぱ覚えておくとよさそうだなぁ。
ただ、書き方が()要るかとか$_とか使い出したりでちょっと面倒なんだよね。
解説してくれてるところが妙に見つからないし、習うより覚えろって事かな。
0395356
2006/03/30(木) 00:12:08ID:???「Effective Perl」オヌヌメ。最近買ったんだけど、例えばforeachとmapとgrepの
明確な使い分けとか、そんなレベルでPerlのセンスを磨いてくれる良書だとオモタ。
後置きについても書いてあったかは忘れたけど、例文にはバンバン登場するので
非常に参考になる。
>>359
その通りだね。括弧書いたのは後でシモタとオモタよ。
0396nobodyさん
2006/03/30(木) 00:14:55ID:???print $_, "\n" foreach @array; ### 0.93 CPU [4]
print STDERR "$_\n" foreach @array: 16 wallclock secs (11.66 usr + 3.94 sys = 15.59 CPU) @ 6.41/s (n=100)
print STDERR $_, "\n" foreach @array: 25 wallclock secs (17.66 usr + 6.83 sys = 24.49 CPU) @ 4.08/s (n=100)
連結って思ったより処理負荷大きいのかな。
気をつけようっと。
0397nobodyさん
2006/03/30(木) 00:41:13ID:???Benchmark: timing 10000 iterations of $a .= "a" , $a = $a . "a"...
$a .= "a" : 0 wallclock secs ( 0.17 usr + 0.00 sys = 0.17 CPU) @ 5882.35/s (n=1000)
$a = $a . "a": 85 wallclock secs (84.41 usr + 0.01 sys = 84.42 CPU) @ 11.85/s (n=1000)
うへぇ
0400nobodyさん
2006/03/30(木) 00:51:51ID:???0401nobodyさん
2006/03/30(木) 01:07:54ID:???print STDERR だとバッファリングされずに必ず write(2) するから、
print STDOUT に比べて圧倒的に速度的に不利になると思うんだけど。
0402nobodyさん
2006/03/30(木) 01:33:47ID:???0405nobodyさん
2006/03/30(木) 01:59:04ID:???そりゃある文ではSTDERRつかって、ある文ではSTDOUT使ってたらベンチに偏りが出るけどさ・・・
条件が同じなら出力先はファイルでもなんでもいいんだよ
0406nobodyさん
2006/03/30(木) 02:13:52ID:???他の処理のせいで処理自体の差は100/sと50/sの差なのに、
10/sと9/sって差が出てしまったら大差なさそうに感じてしまうし。
0407nobodyさん
2006/03/30(木) 02:31:39ID:???いやいや、だから、 >>389 が言ってるように、
print (というか write(2)) の回数が多い方が極端に不利になるじゃん、という話。
0410nobodyさん
2006/03/30(木) 03:21:17ID:???煽ってるつもりなのだろうか。
0411nobodyさん
2006/03/30(木) 05:10:05ID:???ってのが、ラクダ本あたりにもよく出てくるよね。
0412nobodyさん
2006/03/30(木) 06:41:01ID:???joinの方が圧倒的に速いんだろうか?
0415nobodyさん
2006/03/30(木) 09:33:15ID:???0416407
2006/03/30(木) 10:45:36ID:???print FILE join("\n", @array),"\n": 10 wallclock secs ( 8.07 usr + 2.05 sys = 10.12 CPU) @ 9.88/s (n=100)
local $" = "\n"; print FILE "@array\n": 13 wallclock secs (10.10 usr + 2.20 sys = 12.30 CPU) @ 8.13/s (n=100)
print FILE "$_\n" foreach @array: 19 wallclock secs (18.08 usr + 1.20 sys = 19.28 CPU) @ 5.19/s (n=100)
print FILE map "$_\n", @array: 30 wallclock secs (27.93 usr + 1.07 sys = 29.00 CPU) @ 3.45/s (n=100)
print FILE map {"$_\n"} @array: 29 wallclock secs (27.60 usr + 1.23 sys = 28.84 CPU) @ 3.47/s (n=100)
local $, = "\n"; print FILE @array: 13 wallclock secs (10.70 usr + 1.18 sys = 11.88 CPU) @ 8.42/s (n=100)
print FILE $_, "\n" foreach @array: 19 wallclock secs (16.84 usr + 1.16 sys = 18.00 CPU) @ 5.56/s (n=100)
map はどうあがいても遅そうですが、他は join との差がかなり縮まってると思います。
0417nobodyさん
2006/03/30(木) 11:19:01ID:???0418407
2006/03/30(木) 11:54:18ID:???まあベンチマークってそういうもんなんじゃないでしょうか。
机上だけでやっちゃうってのも問題ですが、
ベンチマークを鵜呑みにするのも問題だと思います。
ベンチマークも一つの目安に過ぎないんだと思います。
0419nobodyさん
2006/03/30(木) 13:55:21ID:???この板のレベル的に
0422nobodyさん
2006/03/30(木) 14:52:07ID:???print map {"$_\n"} @array 13.8/s -- -1% -44% -52% -69% -76% -80%
print map "$_\n", @array 14.0/s 1% -- -43% -51% -69% -75% -79%
print "$_\n" foreach @array 24.4/s 77% 75% -- -15% -46% -57% -64%
print $_, "\n" foreach @array 28.7/s 109% 106% 18% -- -36% -49% -57%
local $, = "\n"; print @array 45.0/s 227% 223% 85% 57% -- -20% -33%
local $" = "\n"; print "@array\n" 56.5/s 310% 305% 132% 97% 25% -- -16%
print join("\n", @array),"\n" 67.6/s 391% 384% 177% 135% 50% 20% --
まぁ、自分はこの差が問題になるよなコードを書くことはないと思うけど。
0424nobodyさん
2006/03/30(木) 15:31:44ID:???むしろどんどんやってくれ。
0425nobodyさん
2006/03/30(木) 15:56:27ID:???書き方によってスピードに差が出るってのをベンチマークとって分かればいいんだから、
ファイルに書き出した結果もベンチ結果の1つでしょ?
またSTDERRに書き出してたベンチも結果の1つ
君がそれ以上に何が知りたいかのかわからんよ
0427nobodyさん
2006/03/30(木) 19:01:15ID:+BI4fyV2ひとつひとつを変換するのではなく、一度に変換する良い方法ありませんか?
0428nobodyさん
2006/03/30(木) 19:23:03ID:???一度に変換する方法など、Perlでなくてもありません。
0429nobodyさん
2006/03/30(木) 23:12:22ID:???それもわずかな差じゃなくて数倍以上。
一体中で何が起きてるんだ…
子ネタ
ttp://itpro.nikkeibp.co.jp/article/NEWS/20060330/233820/
0430nobodyさん
2006/03/31(金) 00:19:33ID:???あなた自分の解釈の間違いに意固地になって必死すぎ
0432nobodyさん
2006/03/31(金) 00:34:36ID:???0435nobodyさん
2006/03/31(金) 01:47:32ID:???Σ
春休みかorz
0436nobodyさん
2006/03/31(金) 01:58:45ID:???変なのが絡みだすとこういう事に。
この板住人は煽り耐性低いというか、言い返さずに入られない人多いよな。
0437nobodyさん
2006/03/31(金) 02:11:22ID:???0438nobodyさん
2006/03/31(金) 02:47:50ID:???この空気じゃなかなか質問がしづらいという悪循環。
0439nobodyさん
2006/03/31(金) 13:33:21ID:MWW8UoCrその一行を教えてください><
0441nobodyさん
2006/03/31(金) 15:28:24ID:???特に何も省略されてないと思われ。
print 演算子の出力フィールドセパレータ (デフォルトは空文字列) を「改行」にし、
@array を print する。
って感じで。
0442nobodyさん
2006/03/31(金) 16:06:55ID:???なんとなく把握できた。
解説感謝。
0444nobodyさん
2006/03/31(金) 18:52:18ID:???たとえば
<a href=read.cgi?bbs=$bbs&key=$key&ls=$lslimit&mode=i accesskey=3>?新</a>
とかは携帯から見れる新って書いてあるリンクをおすと#63881に書いてあるコマンドを実行するってことですか?
リンクを押すと新しいレス10件を表示させるようにしたいのですが、そのコマンドがどこに書いてあるのかわからなくて・・。
0445nobodyさん
2006/03/31(金) 19:49:56ID:???#63〜ってのはエモジのことみたいですね。
0446nobodyさん
2006/03/32(土) 01:29:26ID:???これがわからんかったんで調べた・・・ (知ってる人にはどうでもいいことだろうけど、分からない人も居るだろうし・・・)
$, 自体が特殊変数で、print 関数で表示する際にセパレータとして挿入される値
>>392 の例だと、「配列の要素間に \n を入れる」 という意味
なるほど勉強になりました。
0447nobodyさん
2006/03/32(土) 01:31:27ID:???初心者なので思ったりする。
0448nobodyさん
2006/03/32(土) 01:37:06ID:???0449nobodyさん
2006/03/32(土) 02:16:23ID:???ありがとう。
0450nobodyさん
2006/03/32(土) 08:17:31ID:???勉強になります
0451nobodyさん
2006/03/32(土) 09:15:53ID:???>>422
目的のアルゴリズム部だけの速度を求めたいのなら、print は一切省いて
join("\n", @array),"\n";
local $" = "\n"; "@array\n";
"$_\n" foreach @array;
map "$_\n", @array;
map {"$_\n"} @array;
local $, = "\n"; @array;
$_, "\n" foreach @array;
とかでいいと思う。デバイスに出力するのが遅いだけでなく、print 関数の使用自体が
遅い可能性もあるし(C言語とかだとそう)。
まぁ、これだと $, を使用したときの正確な値が求められないが、内部的に $, は
そんなにコストがかかっていなさそう。
おそらく内部では、$, ||= ''; (←実際にはCとかで)とでもやって条件分岐なしで処理してそうだし。
実際にベンチをとって確認するのは大切なことだけどね。
0452nitraid
2006/03/32(土) 14:06:31ID:G839mIFtThe Roomさんの振り分けCGIを使ってみたのですが、最近の携帯ではPCページにアクセスしてしまうようで困っております。
みなさんよろしくお願いします。
0453nobodyさん
2006/03/32(土) 14:14:34ID:???0454nitraid
2006/03/32(土) 14:40:58ID:G839mIFtDoCoMo、au、vodafoneどれなのかを判別して振り分けたいのですが、各端末情報を書かなければいけませんか?
よろしくお願いします。
0455nobodyさん
2006/03/32(土) 14:53:28ID:???0457nobodyさん
2006/03/32(土) 17:27:19ID:???0460nobodyさん
2006/04/02(日) 13:14:52ID:???リファレンス先の値を変更してから、元の配列と比較したいのですが、
リファレンスを用いているために元の配列の値が変更されてしまいます。
何か元の配列の値を変更しない、効率の良い方法はあるでしょうか?
my @S=([1,2,3],[1]);
{
my @T=@S;
$T[0][0] = 0;
#ここで、$T[0][0]==$S[0][0]となってしまいます...
}
0461nobodyさん
2006/04/02(日) 14:10:23ID:???> リファレンスを用いているために元の配列の値が変更されてしまいます。
という質問に対する答えはディープコピーすればOK。
例えばこうやって:
my @T = map { [@$_] } @S;
自動でやってくれる便利なモジュールもある。
ttp://search.cpan.org/~rdf/Clone-0.20/Clone.pm
PurePerl版: ttp://search.cpan.org/~evo/Clone-PP-1.02/PP.pm
データ量が非常に多い場合はtieで差分を記録して処理するラッパを作ると良いかもしれないが、
オーバーヘッドがあるからこれは実際にやってみないとわからないな。
しかし本当にコピーする必要があるのか?
どうもその質問を見ると何所が書き換わったのかだけが知りたいようにも見えるんだが。
0462460
2006/04/02(日) 16:55:34ID:???ありがとうございます。
最終的に、データ構造全体が必要なのでコピーは必要そうです。
利用しようとしているデータ構造は、>>460で示したものよりもう少し複雑です。
配列のリファレンスと、ハッシュのリファレンスが同じ配列に入っていたり...
mapは初めて知りましたが、何層にもなるデータ構造を完全にコピーするのは難しそうに見えます。
mapの何か応用的な利用法、または別の方法とかはあるのでしょうか。
モジュールが使えればよいのですが、設定が良く分からないので使えませんorz
データ構造はこんな感じです(各要素は適当に省略しています)。:
@S=(
{'a'=>[1,1],'b'=>1},
[{'c'=>[1,2],'d'=>1},{}],
[{},{}]
);
0463nobodyさん
2006/04/02(日) 18:07:27ID:???どのようにすればいいでしょうか。
0464nobodyさん
2006/04/02(日) 18:48:20ID:???0466nobodyさん
2006/04/02(日) 18:56:57ID:???0467nobodyさん
NGNG0469nobodyさん
2006/04/02(日) 19:21:08ID:???0471nobodyさん
2006/04/02(日) 20:43:19ID:???別にPurePerl版なら面倒なインストールやら設定やらは要らないんだけどな。
PP.pmをスクリプトがある場所のClone/PP.pmとして配置して、
use Clone::PP qw(clone);
my @T = @{ clone(\@S) };
これだけ。が、CPAN Search落ちてるな…DLはこの辺りのミラーからどぞ
ttp://ftp.ring.gr.jp/pub/lang/perl/CPAN/modules/by-module/Clone/Clone-PP-1.02.tar.gz
どうしてもモジュールが使えないなら、とりあえず自分で書いてみれ。
使うであろう部品や検索キーワードを置いとくから。
ref, map, 再帰呼び出し, ディープコピー
> 何層にもなるデータ構造を完全にコピーするのは難しそうに見えます。
そこは再帰呼び出しと組み合わせる。
0472nobodyさん
2006/04/03(月) 02:08:58ID:???上記のように2つ引数を受け取る関数を作り、引数1は省略可能な引数として作りましたが、
aaa(, argv2);
のように書いたら、あたりまえでしょうがエラーになりました
やっぱ省略可能な引数は省略不可の引数のあとに書くべきですかね?
0473nobodyさん
2006/04/03(月) 02:17:05ID:???そうでないなら第1引数にはundefを渡す。
0474nobodyさん
2006/04/03(月) 02:35:42ID:???とりあえず修正はあとにしてundef渡すようにします
>473さんありがとです
0475nobodyさん
2006/04/03(月) 17:08:10ID:OQWMmdliこのサイトで、「毛蟹」というキーワードをsjisでエンコードすると、
%96%D1%8AI
という文字列が得られると思います。
ここではphpの関数を使って変換しているようなので
このような結果になっていますが、
同等の結果をperlで取得する方法はないのでしょうか?
よく使われる
$str =~ tr/+/ /;
$str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;
のような変換では、
%HHと2桁に変換されるわけですから上のような結果にはなりませんよね。
当方、phpの知識はほとんどありませんTT。
0476475
2006/04/03(月) 17:13:14ID:OQWMmdli0477nobodyさん
2006/04/03(月) 18:02:17ID:???0478nobodyさん
2006/04/03(月) 18:03:26ID:???こうか
0479nobodyさん
2006/04/03(月) 18:07:42ID:???phpとjavascriptに関するところだけど、URLエンコード差異について詳しいページがあったので紹介。
ttp://jsgt.org/ajax/ref/charset_test/responsetext/php/urlencode.php
基本的にマルチバイト文字をバイト単位で見てASCIIで表現できればパスするということ。
例えばA-Za-z0-9以外をunpackするなら
$str = "毛蟹";
$str =~ s/([^a-zA-Z0-9])/"%" .uc(unpack('H2', $1))/ge;
print $str; # %96%D1%8AI
0480nobodyさん
2006/04/03(月) 18:22:33ID:???use URI::Escape;
$str = "毛蟹";
print uri_escape($str); # %96%D1%8AI
0481nobodyさん
2006/04/03(月) 18:23:27ID:???0482nobodyさん
2006/04/03(月) 21:04:04ID:???0483nobodyさん
2006/04/03(月) 22:31:17ID:???0484475
2006/04/03(月) 22:40:14ID:OQWMmdli>>479
参考になるサイトを教えていただきありがとうございます。
"蟹"はsjis16進で"8a49"
49はASCIIで"I"だから・・・
ということですね。
てか、自分が悩んでいる内容が全然別のことだと気付きました。
申し訳ないですが、もう一度質問させてください。
Jcodeの質問です。5.6なので、Encodeモジュールが使えません。
当方、スクリプトの文字コードはUTF-8で書いてますが、
use URI::Escape;
my $str = uri_escape(jcode("毛蟹")->sjis);
print $str;
の結果は
%E3%AD%9B%E8%9F%B9
となってしまいます。
試しに
print getcode($str);
をしてみると、空文字?が返ってきます。
print getcode("毛蟹");も空文字が返ります。
print getcode("毛蟹じゃあ!");は、utf8が返ります。
文字コードの変換がきちんとおこなわれていないようなのですが、
"毛蟹"をきちんとsjisへと変換させる方法はないでしょうか?
ちなみに、さっきから毛蟹毛蟹言ってますけど
その文字列はユーザが入力する文字列と考えてください。
0485475
2006/04/03(月) 22:41:23ID:OQWMmdliuse Jcode;
が抜けてました
0486nobodyさん
2006/04/03(月) 23:07:47ID:???use URI::Escape;
use Jcode;
my $convstr = '毛蟹';
my $str = uri_escape(jcode($convstr,'utf8')->sjis); # icodeを指定する
print uri_escape($convstr),"\n"; # %E6%AF%9B%E8%9F%B9
print $str; # %96%D1%8AI
まだ「毛蟹」で笑ってる自分が嫌です。
0488nobodyさん
2006/04/03(月) 23:40:37ID:???0489nobodyさん
2006/04/03(月) 23:51:28ID:???向こう1週間のおかずを決めるアプリを開発中なためです。
0490nobodyさん
2006/04/03(月) 23:52:20ID:???つ【\20000】
0491460
2006/04/03(月) 23:53:46ID:???PurePerl版でパソコンの上で動かせるようにはなりました。
プログラムの別の部分ですが、再帰呼び出しというのも便利で、勉強になりました...
ありがとうございました。
0492nobodyさん
2006/04/03(月) 23:55:29ID:???0493nobodyさん
2006/04/04(火) 00:09:48ID:???ばかにすんなよ!
0494nobodyさん
2006/04/04(火) 00:29:28ID:???ばかにすんなよ!
0495nobodyさん
2006/04/04(火) 00:32:56ID:???0496nobodyさん
2006/04/04(火) 01:01:34ID:???AN HTTPで試したら500エラーてどういうコトなんだろうか('A`)
文字コード・Perlパス いろいろ試してすでに2週間・・・
0497nobodyさん
2006/04/04(火) 01:30:52ID:???0498nobodyさん
2006/04/04(火) 01:47:10ID:???検索中のページには問題があるため表示できません。
--------------------------------------------------------------------------------
次のことを試してください:
127.0.0.1 ホーム ページを開き、 必要な情報へのリンクを探してください。
[更新] ボタンをクリックするか、後でやり直してください。
[検索] ボタンをクリックして、インターネット上の情報を検索してください。
関連したサイトの一覧 も表示できます。
HTTP 500 - 内部サーバー エラー
Internet Explorer
しか出ないんだ ごめん(´・ω・`)
トレースのログ 晒したらわかるかな?
0499nobodyさん
2006/04/04(火) 01:51:42ID:???GET /cgi-bin/uhouho.pl HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 127.0.0.1
Connection: Keep-Alive
>>> s=444: Tue Apr 04 01:49:26 2006 >>>
HTTP/1.1 500 Server Error
MIME-Version: 1.0
Server: AnWeb/1.42n
Date: Mon, 03 Apr 2006 16:49:26 GMT
Content-Type: text/html
Content-Length: 196
<HTML><HEAD><TITLE>Error </TITLE></HEAD>
<BODY>
<H1>Error 500</H1>
CGI エラー - CGIを実行できません <HR><ADDRESS><a href="http://www.st.rim.or.jp/~nakata/">AnWeb/1.42n</a></ADDRESS>
</BODY></HTML>
0500nobodyさん
2006/04/04(火) 01:56:50ID:???落ち着いて↓これ読んで試してください。>>498-499みたいのは貼られても困る。
http://pc8.2ch.net/test/read.cgi/php/1104624784/2
Un*x→Winだったらsymlinkとかでばくばくコケるのかな。
0502nobodyさん
2006/04/04(火) 03:19:49ID:???スマソ あんまこの板こないからよくわからんけどスレ違いだったかな(´・ω・`)
もう一度 落ち着いて試してみる d
0503nobodyさん
2006/04/04(火) 09:52:27ID:???0504nobodyさん
2006/04/04(火) 13:19:03ID:???どうしたらorz
(´・ω・)がいしゅつ?
0505nobodyさん
2006/04/04(火) 13:25:40ID:???いろいろとやり方はあるだろうけど、もっと、用途というか、
どういう環境でどんなふうにやりたいかとか詳しく書いた方が答えやすいかも。
0506nobodyさん
2006/04/04(火) 13:47:30ID:???削除する日付はどう指定するのか
0507nobodyさん
2006/04/04(火) 14:05:40ID:0uJ/AX+Fごく一部のユーザーからのフォームデータが欠けているのです。
そのうちの一人と連絡がとれ、そのユーザーがMacユーザーである事が確認できました。
Macユーザーのフォームデータは受け取れないというような事例はあるのでしょうか?
コードはS_JISで書いてます。
0508nobodyさん
2006/04/04(火) 14:12:43ID:???0509nobodyさん
2006/04/04(火) 14:44:06ID:???0510507
2006/04/04(火) 15:32:54ID:0uJ/AX+F0511nobodyさん
2006/04/04(火) 15:33:23ID:???0513nobodyさん
2006/04/04(火) 16:09:53ID:???いろいろ考えられるけど、
1. そもそもCGI不許可の鯖
2. 特定のディレクトリに置かないと動かない(例:cgi-bin等)
3. .htaccess ファイルの記述ミス。ちゃんとCGI実行されるようにする。
4. スクリプトファイルの文字コードがsjis になっちゃってたりする。eucにする。
5. perl インタプリタのパスが間違っている。1行目を見直す。
6. 出力で、最初に"\n"を出力していない。
7. パーミッションの設定ミス。701、755等にしてみる。
まぁ、自宅鯖で動いているなら 6 はなさそうかな。
まず、以下のようなごくシンプルなスクリプトで試してみ。
---
#!/usr/bin/perl
print "\nOK!";
0514nobodyさん
2006/04/04(火) 18:33:02ID:???$a = $array[0]{abc}[1];
数字だけならこんな↓感じの代入でできたんですけど。
@array = ( [ ["a", "b"], ["c", "d"] ],
[ ["e", "f"], ["g", "h"] ],
[ ["i", "j"], ["k", "l"] ],
[ ["m", "n"], ["o", "p"] ] );
0515nobodyさん
2006/04/04(火) 18:48:07ID:???0517nobodyさん
2006/04/05(水) 06:02:50ID:???普通にハッシュ使えばいいのでは?
my @array = (
{abc=>[1,2,3], def=>[4,5,6]},
{abc=>[7,8,9], def=>[1,2,3]},
);
http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perldsc.html
0519nobodyさん
2006/04/05(水) 19:24:19ID:???このモジュールの宣言をしないとflockは使えないんですか?
宣言無しでflockの1,2,8使えてるのは
evalでトラップされてるからなのでしょうか?
0520nobodyさん
2006/04/05(水) 19:45:46ID:???flock FH, LOCK_EX; # 定数を使う場合は「use Fcntl;」が必要。
宣言無しでflockの1,2,8が使えてるのは、定数を使ってないから。
0521nobodyさん
2006/04/05(水) 20:11:28ID:???ありがとうございます。
調べても分からなかったんですが、
定数を使うと何か他の処理ができるようになるんですか?
0522nobodyさん
2006/04/05(水) 20:36:20ID:???はつみみです。
0524nobodyさん
2006/04/05(水) 20:59:48ID:???だけ?
0525nobodyさん
2006/04/05(水) 21:13:52ID:???0526nobodyさん
2006/04/05(水) 21:28:35ID:???webprog行けよ・・・
って思ってたらここがwebprog板だった
わろす♪
0528521
2006/04/05(水) 21:38:06ID:???そうですか。
ありがとうございました。
>519でモジュールと言いましたがプラグマの間違いです。
0529nobodyさん
2006/04/06(木) 05:19:58ID:???package Fcntl;
=head1 NAME
Fcntl - load the C Fcntl.h defines
=head1 SYNOPSIS
use Fcntl;
use Fcntl qw(:DEFAULT :flock);
=head1 DESCRIPTION
This module is just a translation of the C F<fcntl.h> file.
0530nobodyさん
2006/04/06(木) 09:03:53ID:???プラグマは「useするとプログラムの挙動が変わるモジュール」のことだからの。
0531nobodyさん
2006/04/06(木) 12:47:22ID:???それなら両方正解か
0532nobodyさん
2006/04/06(木) 13:06:07ID:???0533nobodyさん
2006/04/06(木) 13:36:04ID:???0534nobodyさん
2006/04/06(木) 13:36:42ID:???ttp://search.cpan.org/~nwclark/perl-5.8.8/pod/perlglossary.pod
・プラグマ
実用的なヒントや指示がコンパイル時に受け取られる(時に無視すれる)標準モジュールです。
プラグマは全て小文字で命名されます。
で、訳あってる?英語苦手だから自信ない(´・ω・`)
0536nobodyさん
2006/04/06(木) 18:12:22ID:9PXV35kY場所探すのが大変です
これを部分部分に分けてタブで切り替えて作業するとか、
そういうのありませんかね?
あったら便利だなぁと思ったもので
0537nobodyさん
2006/04/06(木) 18:15:20ID:???Perl書くのにどんなエディタ使ってる?
http://pc8.2ch.net/test/read.cgi/php/1014357485/
色々ある
0538nobodyさん
2006/04/06(木) 22:07:28ID:???掲示板の今見ているレスから10件前のを表示させようと思ったのですが、
「自分の今見ているところを取得して、そこから10件引いたリンクをつくる」(当たり前のことですが)まで考えました。
ですが、自分の今見ているレス(何番から何番)を「取得するにはどうしたらいいのでしょうか?
0539nobodyさん
2006/04/06(木) 22:16:28ID:???言葉どおりに捉えるなら、「自分が今見ているレス」なんて分かるはずもなく。
むしろ「自分が今見ているレス」をどうやって指定するかがミソ。
指定できれば、あとは10件遡るだけですね。
こういうのは決まったやり方があるわけじゃなくてアルゴリズム次第なんで
考えるのが面倒くさいとか分からないとかのレベルじゃPerlに限らず何にも作れません。
0540nobodyさん
2006/04/06(木) 22:20:49ID:???まだ構想段階でその機能を付けようと思ったのか
0541nobodyさん
2006/04/06(木) 22:27:55ID:???そうだったんですか・・。
すみませんでした。ありがとうございました。
>>540
一応配布されているのを改造しようと・・。
2ちゃんねるとか他のをみていると
スレ一覧からスレを見るとスレ番/|10で、前を押すと/988-998とかになっているので、簡単にできるのかなーと思ってました。
0542nobodyさん
2006/04/06(木) 22:40:35ID:???例えば「20〜30を表示」してる時に、そこに「10〜20を表示させるリンク」を仕込めるのは自明。
改造という視点なら>>2
0543nobodyさん
2006/04/06(木) 22:44:59ID:???0544nobodyさん
2006/04/06(木) 22:48:15ID:???改造は別でしたか、すみませんでいsた。調べてみます。
情報ありがとうございました。
>>543
あれ・・・?たしかに・・。
0545nobodyさん
2006/04/07(金) 03:14:09ID:???具体的には、
1010 1000 0001 0011
1100 1101 1000 1110
---------------------
0110 0101 1001 1101
こういった計算ができないかということでございます。
ご教示いただけますと幸いです。
0546nobodyさん
2006/04/07(金) 03:41:32ID:???とりあえずしね。
0547nobodyさん
2006/04/07(金) 17:48:12ID:???教えてください
0548nobodyさん
2006/04/07(金) 19:27:23ID:???gifcatで検索
>>504です。レス遅れてすいません
テキストをフォームに書いてそれをアップロードするという内容なんですが
そのアップロードしたテキストを30日後に削除したいんです
0550nobodyさん
2006/04/07(金) 19:32:03ID:???調べてみたのですがコードを載せている所が見当たらなくて...
よろしくお願いします
0552550
2006/04/07(金) 19:53:52ID:???コードを教えていただくのが早いと思ってます。
コードが分かればアルゴリズムは自分で解析できると思います。
0553nobodyさん
2006/04/07(金) 20:15:40ID:???本だか雑誌だかはあるはずだよ。数学系に特化したやつ。
コードはCだったような気がするけど。
0554nobodyさん
2006/04/07(金) 20:26:44ID:???どうもありがとうございます。
>>549
gdとimというものを使用した画像連結例などございましたらご教示ください
0556nobodyさん
2006/04/07(金) 20:52:13ID:???foreach ( split(/\n/, $mbody) ) {
&jcode'convert(*_, 'jis', 'sjis');
print MAIL $_, "\n";
}
0558nobodyさん
2006/04/07(金) 21:05:39ID:???http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perldata.html#Typeglobs_and_Filehandles
http://mikeneko.creator.club.ne.jp/~lab/kcode/jcode.html#h2-2
0560nobodyさん
2006/04/07(金) 21:19:43ID:???この型グロブというのを使わないとすれば、>>556はどのような記述にすればいいのでしょうか?
0561nobodyさん
2006/04/07(金) 21:23:12ID:???0562nobodyさん
2006/04/07(金) 21:30:33ID:???jcode.pl自体が古いんですよ。
この辺を読んでおくといいのかな?今はどうするもんなのかについても触れられてるよ。
ttp://openlab.jp/Jcode/index-j.html
0564nobodyさん
2006/04/07(金) 21:36:51ID:???連立一次方程式といえば行列が思い浮かぶな。
ttp://search.cpan.org/~ulpfr/Math-Matrix-0.5/Matrix.pm
use Math::Matrix;
my $m = Math::Matrix->new(
[ 1, 1, 1, 6], # x + y + z = 6
[ 2, -1, 4, 12], # 2x - y + 3z = 9
[ 5, 6, -5, 2], # 5x + 6y - 5z = 2
);
print $m->solve();
こっちのほうにはあまり詳しくないから一般的な解き方は知らん。スマン。
0568nobodyさん
2006/04/08(土) 01:42:34ID:???0569nobodyさん
2006/04/08(土) 01:51:51ID:???0570非568
2006/04/08(土) 01:55:19ID:???日本語で解説してるとこのほうがはるかに内容充実してるんだな
先にこっち見ればよかった
perlと関係ないけど
0572550
2006/04/08(土) 23:38:24ID:???>>553
perlスクリプト中で方程式の解が必要になってくるんです。
perl以外の言語で探すとひとまず見つかりました。
本の方も調べてみます。
>>564
行列の方は目に入っていたのですが、時間がかかるという話を読んで避けていました。
実際の所どうなんでしょう?
0573nobodyさん
2006/04/08(土) 23:41:36ID:???外部コマンド呼ぶなり、ライブラリ使って XS 書くなり...
0574nobodyさん
2006/04/09(日) 18:45:31ID:yjpSMuEBたとえば$test = "filename";
という変数をみて
$filenameという変数を作成したいのです。
$$testです。
エスパーの方お願いします。
0575nobodyさん
2006/04/09(日) 18:48:13ID:???0579nobodyさん
2006/04/09(日) 20:04:09ID:???0580nobodyさん
2006/04/09(日) 20:19:36ID:???0584nobodyさん
2006/04/09(日) 21:26:44ID:???0585nobodyさん
2006/04/09(日) 21:40:11ID:bLVoNdT6ifで比較している$iconは手前で読み込んでいるデータです。
キーと比較して、同じならselectedにしています。
動作自体は希望通りに動くのですが、プルダウンメニューの並び順が滅茶苦茶になってしまいます。
その01,02...としたいのですが、その10,01,20...となってしまいます。
キーをソートすれば良いと言う事までは解ったのですが、上手く行きませんでした。
どのようにsort関数を挟めば良いのでしょうか?
%icon=(
'icon_00.gif','指定しない',
'icon_01.gif','その01',
'icon_02.gif','その02',
'icon_03.gif','その03',
'icon_04.gif','その04',
'icon_05.gif','その05',
※これが"その30"まで続きます。"
);
foreach $key(keys(%icon)){
if ($icon eq $key) {
print "<OPTION value=\"$icon{$key}\" selected>$key</OPTION>\n";
} else {
print"<OPTION value=\"$icon{$key}\">$key</OPTION>\n";
}
}
0586nobodyさん
2006/04/09(日) 21:55:42ID:???sprintf qq|<OPTION value="%s"%s>$key</OPTION>\n|,
$icon{$key},
$icon eq $key
? ' selected'
: ''
} sort keys %icon;
って書いちゃうよなぁ、、、@わるいくせ?
0588nobodyさん
2006/04/09(日) 22:16:58ID:???0589585
2006/04/10(月) 02:07:12ID:JCUetGcdどうも有り難うございます。
問題なく動きました。
>>587
こんなやり方もあるんですね。
まだ超初心者なので、細かい意味は不明なんですが。
勉強します。
0590nobodyさん
2006/04/10(月) 08:46:55ID:???何も細かい意味なんてありませんよ。
0591nobodyさん
2006/04/10(月) 10:50:22ID:???ディレクトリ生成ならFile::Pathでいけるんですが。
ディレクトリ作った後にファイル生成するのが早いかな・・・
0592nobodyさん
2006/04/10(月) 10:53:28ID:???my $f = "/fuck/you/i/do/want/fucking";
foreach (split(m|/|, $f)) {
next unless $_;
$buf .= "/" . $_ ;
mkdir($buf);
}
0593nobodyさん
2006/04/10(月) 11:15:40ID:???ありがとうございます。
ただそれだとFile::Pathと同じことですよね?
ファイル生成までを一気にやってくれる既存モジュールを探しています。
自分で書いたほうが早いとは思うんですが、ご存知でしたら後学のために教えてください。
0594nobodyさん
2006/04/10(月) 17:04:46ID:???シェルでログインできん
0595nobodyさん
2006/04/10(月) 17:09:16ID:???…それすらできない状態?
0596nobodyさん
2006/04/10(月) 17:21:20ID:???0597nobodyさん
2006/04/10(月) 17:37:13ID:???0598nobodyさん
2006/04/10(月) 17:51:06ID:???0599nobodyさん
2006/04/10(月) 17:57:44ID:???0600nobodyさん
2006/04/10(月) 18:04:26ID:???0601nobodyさん
2006/04/10(月) 18:26:17ID:???まだならさっさとしる。
0602nobodyさん
2006/04/10(月) 18:29:05ID:???テストサーバなので実害はありませんでしたが、以後同じ過ちを繰り返さぬよう(略
orz
0603nobodyさん
2006/04/10(月) 18:57:13ID:???面倒だからモジュール直で書き換えちゃったよorz
0604nobodyさん
2006/04/10(月) 20:19:31ID:???テーブルセルの三段組ってのがわからんのでなんとも。
どういう変数があってそれををどういうHTMLにしたいのかね。
0606nobodyさん
2006/04/11(火) 00:35:41ID:???i|!| |i┏┓! i!┏┳┓| |||i|!i| ||!i|| |||ii| ||| ||| |i||!|i│i!┏┓i!|
|i|┏┛┗━╋┻┛|i!||!|ii|| i|!i||i|┏━┓ ┏┓i|i| i┃┃i!|
i||┗┓┏┓┃||i┏━━━━┓┗━┛ ┃┃|i||!i┃┃i!|
|i |!|i┃┃┃┃i||┗━━━━┛|i|| || ||||!┃┃i|i| i┗┛!i|
i||i ||┃┃┃┃|! |||i ||i !|||!|┏━━┛┃|i||!i┏┓i|!
|i!i |!┗┛┗┛i|!i| / | / | ┗━━━┛i|i| i┗┛i!|
i| |||i|!i| ||!|i||i! /,_ ┴─/ ヽ |!i| ||| |i||!|i|i|||| ||i
|i|| ||i!i|| (_゜.,》.'(_゜,》)ミ ヽ ! | |!i||!|ii||!|ii|
i|ii / ,,__,ニ、、 ノ( | i|i!|i|
|i | Y~~/~y} `, ~ | そ、そんなー… |i
!. | ,k.,.,!,.,.,r| ,! く .!
i / <ニニニ'ノ \ l
0607nobodyさん
2006/04/11(火) 07:13:56ID:???まずはシェルの基本的な使い方勉強しる。
telnet と kill くらいでもいいから。
サポセンに電話しなくても自分で対処できるようになるから。
0608nobodyさん
2006/04/11(火) 09:05:56ID:???ログインすら満足にできなくなることがあるよ。昔やっち
まったことがある(笑)
0609nobodyさん
2006/04/11(火) 10:04:30ID:???ターミナルすら繋がらない状態でした
鯖が手元にあればコンソールで入れたかもだけど
たぶんメモリ使用量が限界いってたと思われます
>>605
ほんとそう思いますよね(つд`;)
0610nobodyさん
2006/04/11(火) 16:06:02ID:???鯖に入ってても、lsすら返ってこなくなる。
forkよりましだけどね。
0611nobodyさん
2006/04/11(火) 18:59:01ID:???my $aaa = [
{bbb=>1,ccc=>2,ddd=>3,},
{bbb=>4,ccc=>5,ddd=>6,},
{bbb=>7,ccc=>8,ddd=>9,},
];
をcccでソートして順番に出したいんですが
どうしたらよいでしょうか?
0612nobodyさん
2006/04/11(火) 19:05:38ID:???sortにcccで比較するように書いたブロックを渡す
sort { $a->{ccc} <=> $b->{ccc} } @$aaa
0613nobodyさん
2006/04/11(火) 22:21:41ID:???0614nobodyさん
2006/04/12(水) 01:19:55ID:???ソートするためにわざわざSQL使うの?
SQL使わないとソートできないの?
0615nobodyさん
2006/04/12(水) 01:26:35ID:???0616nobodyさん
2006/04/12(水) 07:12:28ID:???規模がでかくなっても
sort { $a->{ccc} <=> $b->{ccc} } @$aaa
のままだと思うのですが、なにか特殊なことをする必要があるのでしょうか?
0617nobodyさん
2006/04/12(水) 09:54:34ID:???RDBMS でも使えば、っていうのならわかるけど。
0624nobodyさん
NGNG0626nobodyさん
2006/04/12(水) 15:16:50ID:Cw1Ovj1p参考書には、(s/検索文字/置換文字/)という形で書かれているのですが。
コードを読んでいると、以下のような書き方を見つけました。
$datadir =~ s!/$!!
ググって見たんですが、この書式について書かれたドキュメントを
見つけることが出来ませんでした。
この命令がどのような挙動をするか教えてください。
0627nobodyさん
2006/04/12(水) 15:17:32ID:???0628nobodyさん
2006/04/12(水) 15:19:08ID:???つperlop
ttp://perldoc.jp/docs/perl/5.6.1/perlop.pod
Quote and Quote-like Operatorsのところ
0629nobodyさん
2006/04/12(水) 15:38:52ID:???0630nobodyさん
2006/04/12(水) 17:45:11ID:ZYfftFguMicrosoft WORD の MIME typesはなんになるのでしょうか?
アップローダに認識を追加したいのです
0631nobodyさん
2006/04/12(水) 17:55:54ID:0tB7vJSshttp://example.com/index.pl/hogehoge/
を
http://example.com/hogehoge/
でアクセスできるようにするにはどうすればいいですか
index.plを省略したいんです
0632nobodyさん
2006/04/12(水) 17:58:25ID:Sri0F7ev0633nobodyさん
2006/04/12(水) 18:07:23ID:???, イ)ィ -─ ──- 、ミヽ
ノ /,.-‐'"´ `ヾj ii / Λ
,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
ノ/,/ミ三ニヲ´ ゙、ノi!
{V /ミ三二,イ , /, ,\ Yソ
レ'/三二彡イ .:ィこラ ;:こラ j{
V;;;::. ;ヲヾ!V ー '′ i ー ' ソ
Vニミ( 入 、 r j ,′
ヾミ、`ゝ ` ー--‐'ゞニ<‐-イ
ヽ ヽ -''ニニ‐ /
| `、 ⌒ ,/
| >┻━┻'r‐'´
ヽ_ |
ヽ _ _ 」
ググレカス [ Gugurecus ]
( 2006 〜 没年不明 )
0634nobodyさん
2006/04/12(水) 18:12:50ID:???、ヾ:;:::::::::::::::::::::':::::::-、
、ミ::::::';:::::::::::::::::;';:::::::::::::::::ヾ、
i':::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
ミ:::::::::::::::::;:;;::::::r -‐'''"'ヽ::::::::::!;!
ミ::;r--‐' `ヾ ミ::::::::::i
.l::! ;.:ミ、:::;::::l,r‐、
ヾ _,......::::/'ヾ:::: ;.!
! .::'r t.j;、:::/:::: ::' ' !
i.llir_,=:ll!,.- :l:. ::::'::',!:::::::; ...!-'!:ヽ
_! ``´' l! ' ,`−´ .::::: ::::::::l:::::::`:::
ヾ ‐ '´; ,ィ:., .::::::::::::l:::::::::::::
ヽ ,r';';":;:::";';;! ..:::::::::::/:::::::::::::
,r::::::::ヽ ''-''.二-‐'"..:::::::::;:::::::::::::::::::
/::::::::::::::::::::ヽ、 __,...::::::::::;:::::::::::::::::::::::
l:::::::::::::::::::::::::! /::::!:::::. /::::::::::::::::::::::::
/:::::::::::::::::::::::::l ./::::::::ヽ /:::::::::::::::::::::::::::
ツ・レタ [T .Reta]
(1940〜 ウガンダ)
0635nobodyさん
2006/04/12(水) 19:26:44ID:EyVZ0TsJCGI.pmによる、「アップロードされたファイルのサイズ取得方法」
ですがどのようにすれば良いのでしょうか?
0638nobodyさん
2006/04/12(水) 22:32:12ID:???有り難うございます
ずるぼんアップローダですが、本体スクリプトのMINE typesの部分に追加
するだけじゃだめなようですね
0639nobodyさん
2006/04/13(木) 04:37:15ID:???ローカルサーバ (Win+Apache) で、Perl を C:\Perl にインストールしたとすると、
普通は 1行目を #!C:/Perl/bin/perl って書かないとじゃんね。
これ1行目 #!/usr/bin/perl のまま変更しなくてよくするにはどうするんだっけ?
いつか見た記憶があるんだけど忘れちゃったw
C:\usr\ に Perlインストールする、とか、
C:\usr\bin に perl.exe コピーすればなぜか使える、とか、
Apache じゃなく ANHTTPD ならイケル、とか、は知ってるけど、それ以外で何とか。
0640nobodyさん
2006/04/13(木) 06:02:52ID:???httpd.conf で 「ScriptInterpreterSource registry」 を有効にして、
レジストリで 「HKEY_CLASSES_ROOT」 の 「.pl」 のとこのを 「.cgi」 にコピーしたらできたー。
#!/usr/bin/perl 討 伐 完 了
0641nobodyさん
2006/04/13(木) 08:39:20ID:???0642nobodyさん
2006/04/13(木) 13:40:43ID:???検索かける分にも "d:\perl" より "c:\perl" のが多いわけだし。
わざわざツッツキあり^^
0643nobodyさん
2006/04/13(木) 14:04:20ID:???がどこを指すか、わかるよな?
0646nobodyさん
2006/04/13(木) 14:41:03ID:???0647nobodyさん
2006/04/13(木) 14:56:09ID:???0648nobodyさん
2006/04/13(木) 15:16:42ID:???0649nobodyさん
2006/04/13(木) 17:10:34ID:???0650nobodyさん
2006/04/13(木) 17:52:38ID:???0651nobodyさん
2006/04/13(木) 18:05:56ID:???ここにシンボリックリンクを置けばいいんじゃないの?コピーではなく。
0652nobodyさん
2006/04/13(木) 18:11:12ID:???\usr\bin\perl
\usr\local\bin\perl
として転がしておけば #!/usr/local/bin/perl -w みたいなオプションつきのも
記述どおりの動きになるんじゃないのかな。
0653nobodyさん
2006/04/13(木) 18:14:16ID:???0654652
2006/04/13(木) 18:20:22ID:???# 普段は /usr/local/bin/perl が本体、 /usr/bin/perl -> /usr/local/bin/perl で使用。
Win機で試してみます。
0655652
2006/04/13(木) 18:36:43ID:???>[Thu Apr 13 18:25:47 2006] [error] [client 127.0.0.1] (OS 2)指定されたファイルが見つかりません。 :
> couldn't create child process: 720002: test.cgi
ショートカットでは無理なんですね。
perl.exeのコピーを置かないとダメみたいです。こちらは200 OK。
自分であまり使わない環境なのになんでテストしてるんだろう…。
0656nobodyさん
2006/04/13(木) 18:46:11ID:???シンボリックリンク ○
コピー ○
Winにもsymlinkがあるからそれを使えばコピーじゃなくておk、ということです。
0657nobodyさん
2006/04/13(木) 18:53:08ID:???ttp://eside.homeip.net/free/symlink2k.html
これ、便利です。
0658nobodyさん
2006/04/13(木) 19:01:09ID:???0659652
2006/04/13(木) 19:09:25ID:???>>656-657
情報ありがとうございます。
ショートカットでない、ジャンクションっていうのがあるのを知りませんでした。
自分でも調べてみます。
0660nobodyさん
2006/04/13(木) 19:39:25ID:???0661639
2006/04/13(木) 20:04:21ID:???みんな良レスありがとないー。
0662nobodyさん
2006/04/13(木) 23:42:55ID:???perlインスコ先をD:\usrにすれば/usr/bin/perlって指定出来るじゃん
0663nobodyさん
2006/04/13(木) 23:49:06ID:???それがたとえ実験環境であってもです。
0664nobodyさん
2006/04/14(金) 00:25:23ID:???0665nobodyさん
2006/04/14(金) 00:26:48ID:???0666nobodyさん
2006/04/14(金) 00:30:55ID:???ましてやLinuxインスコなんてとてもとても
0667nobodyさん
2006/04/14(金) 00:40:26ID:???0668nobodyさん
2006/04/14(金) 00:57:40ID:???だって、php とか c++ とかを D\:php とか D:\cpp とかにいれてるのに、perl だけ1行目のためだけに D:\usr にするとかありえなくね?
レジストリとかリンクいじるだけでできるんならそっちのがイイヨ(´・ω・`)
0669nobodyさん
2006/04/14(金) 01:05:31ID:???0670nobodyさん
2006/04/14(金) 02:34:19ID:???1.3系列だけど。
0671658
2006/04/14(金) 03:34:06ID:???ttp://www.42ch.net/UploaderSmall/source/1144953006.zip
モジュールをロードして
ShebangAlterCommand /usr/bin/perl perl.exe
こんな感じ
0672nobodyさん
2006/04/14(金) 04:18:43ID:???ある日、apacheのdistから取ってきたtar玉ほどいて mod_shebang.c が入ってたら
腹抱えて笑うんだろうね。
0673nobodyさん
2006/04/14(金) 12:37:47ID:???俺は PHP を /usr/php に入れてるしなぁ
運用のときの事を考えないやつ多いんだな・・・
0674nobodyさん
2006/04/14(金) 12:54:18ID:???0676nobodyさん
2006/04/14(金) 14:10:16ID:???あくまでコーディングの質問のスレだから。
0677nobodyさん
2006/04/14(金) 14:11:00ID:???0678nobodyさん
2006/04/14(金) 14:44:54ID:???dis られるような、そんな「酔狂」なひと?
0679nobodyさん
2006/04/14(金) 16:41:08ID:???0680nobodyさん
2006/04/14(金) 16:49:09ID:???0681nobodyさん
2006/04/14(金) 19:02:36ID:???0682nobodyさん
2006/04/15(土) 14:22:44ID:WxXRjWCrデータファイルでは「¥」になっているのに、
半角「\」で表示されてしまいます。
これを退避する方法はありますか?
0683nobodyさん
2006/04/15(土) 14:40:49ID:???フォントによる。
0684nobodyさん
2006/04/15(土) 15:18:27ID:TyfvpvYA文字aから始まって文字bで終わる文字列のなかでも、
文字zが入らないような文字列にマッチさせるにはどうしたらいいでしょうか。
a.*[^z].*b
ではまったく意味をなしませんよね・・・。
0685nobodyさん
2006/04/15(土) 15:21:49ID:???0687nobodyさん
2006/04/15(土) 16:11:35ID:c44RBImj0688nobodyさん
2006/04/15(土) 16:14:12ID:???0689nobodyさん
2006/04/15(土) 18:06:11ID:c44RBImj0690nobodyさん
2006/04/15(土) 18:07:08ID:???0691カシス
2006/04/15(土) 18:44:04ID:???自作Perl・CGIで作るマガをwebを通して発行する。
outlook2000で見ると改行できない。
他のbeckyとかoutlookexpressならちゃんと改行出来ている。
・・・そこで一度FTPを通してアップするとちゃんと改行出来ている。
自分PerlもCGIも詳しくないのでナゼなのかわからないのです。
CGI・Perlの両方のデータ持ってるんで誰か心優しい方教えてください。
0692nobodyさん
2006/04/15(土) 18:46:15ID:???0693nobodyさん
2006/04/15(土) 18:58:32ID:c44RBImjJPG、GIF、および PNG 画像を、単にピクセル リサイズではなく、きれいに縮小してくれる Perl モジュールを探しています。
0694nobodyさん
2006/04/15(土) 19:04:10ID:???0695nobodyさん
2006/04/15(土) 19:04:11ID:???0696nobodyさん
2006/04/15(土) 19:32:16ID:???0697nobodyさん
2006/04/15(土) 20:24:26ID:q8gKpXSp「なんでそんなこと考える必要がある?代替法を考えてやるから、やりたいことを書いてみろ」というのではなく、所期の目的を達成する方法だけを教えてください。
0699nobodyさん
2006/04/15(土) 20:37:39ID:q8gKpXSp0700nobodyさん
2006/04/15(土) 20:44:07ID:???print $yamada;
0701nobodyさん
2006/04/15(土) 20:44:33ID:???0702nobodyさん
2006/04/15(土) 20:49:22ID:???0703nobodyさん
2006/04/15(土) 20:53:54ID:???0706nobodyさん
2006/04/15(土) 22:23:24ID:???爆笑したwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwww
0708nobodyさん
2006/04/15(土) 22:53:42ID:???0709nobodyさん
2006/04/15(土) 23:14:40ID:???0710nobodyさん
2006/04/15(土) 23:30:23ID:oGexcrlzサーバーにアクセスすると、サーバーがデータをよこさない様子で
下のスクリプトの最後の行の手前までは問題なく動くのですが、最後の行で止まります。
どうやらwww3.pref.yamanashi.jpのサーバー全てで同じく止まるようです。
このスクリプトでwww.pref.yamanashi.jpはじめ他のサーバーなら問題なくデータが取得できているので
スクリプトの基本はできているはずなんですが何が問題なんでしょうか?どうぞよろしくお願いします。
print SOCK "GET @_[1] HTTP/1.1\n";
print SOCK "Host: @_[0]\n";
print SOCKET "Connection: close\n\n";
print SOCK "User-Agent: @_[2]\r\n";
print SOCK "\r\n";
@SOCK = <SOCK>;
0711nobodyさん
2006/04/15(土) 23:36:47ID:???use LWP::Simple;
して
$data = get 'http://www3.pref.yamanashi.jp/uryo/i/C06.html';
でもしとけ
0712nobodyさん
2006/04/15(土) 23:53:56ID:???スライシングになってるのとか\r\nと\nの混在とか一つだけSOCKETとか…
配列の要素一つを表すには$_[0]…というか名前付けろよ
まあLWP使って置いた方が確実
0713nobodyさん
2006/04/16(日) 01:09:21ID:???perl -MLWP::Simple -e "print get 'http://www3.pref.yamanashi.jp/uryo/i/C06.html';"
してみると、確かに何も出ない。
どういうことだ?
0714nobodyさん
2006/04/16(日) 01:16:23ID:???0715nobodyさん
2006/04/16(日) 01:18:01ID:???0716nobodyさん
2006/04/16(日) 01:23:03ID:???今試したら出てきたよ
0717713
2006/04/16(日) 01:41:35ID:???おそらく710も同じ原因だと思われ。
でも、スクリプトが酷すぎるので、LWPを使うのをお勧めする。
0718710
2006/04/16(日) 03:09:37ID:???細かい文法もわからずコピペで作ったので
これを機に直してみます。
とりあえずLWPというのをやってみます。
0719nobodyさん
2006/04/16(日) 05:48:11ID:???どうしても実現したいという気持ちはわかるが。
0720nobodyさん
2006/04/16(日) 10:26:11ID:???ABC[CR][LF]
ABC[CR][LF]
ABC[CR][LF]
([CR]は\x0Dで[LF]は\x0Aです)
こんなファイルを
open(DAT,"TEST.txt");
binmode(DAT);
print while( <DAT> );
close(DAT);
として読み出すと、なぜか
ABC[CR][CR][LF]
とCRが増えるんですが何故でしょうか?
[LF]を[CR][LF]に変換しちゃってるようなんですが、binmodeにしても変換が行われるのですか?
0721nobodyさん
2006/04/16(日) 11:04:54ID:???Perlは入力と出力、両方で改行コードをいじる機能がONになっている。
どういう用途か知らんが、(binmodeしてない)テキストモードなら入力のCRLFをちゃんと\nとして認識してくれるぞ?
0722nobodyさん
2006/04/16(日) 11:21:18ID:???CGIのヘッダとして常に出力する定型文があるのですが、それはLFで保存されています。
ついでにHTTPレスポンスも外のファイルにしたいと思いまして。
そこで、HTTPの応答はCRLFだったので、外部ファイルにCRLFで保存して試したところ
上のような状態になりまして…。
よく見れば定型文の方もLFが全てCRLFになっていたのですが、こっちは気がつきませんでした。
どうもありがとうございました。
0723nobodyさん
2006/04/16(日) 11:49:38ID:???0724nobodyさん
2006/04/17(月) 20:57:23ID:???変数名の内容の変数を作る
ってのを見たんだけど、これを関数で出来ないんですか?
たとえば
my($funcname) = 'calc';
ってしたあとに
&{$funcname}
ってやると
sub calc
が呼ばれるみたいな感じ
何がやりたいのかっていうと、自分で書いてるスクリプトに plugin で機能追加できるように
したいんですけど、イマイチやりかたが思い浮かばないので上記の方法が出来れば簡単かなって・・・
0725nobodyさん
2006/04/17(月) 21:03:38ID:???my($funcname) = \&{'test'};
で関数名を入れて、
&$funcname;
で呼び出せました
plugin を実現するには require とか use しないといけないかなぁ・・・とか思ってたけど、
これでなんとかperlでもっともっと遊べそうです
0726nobodyさん
2006/04/17(月) 21:05:31ID:???何書いてんだか orz
package でスクリプト書ける人はこんな回りくどいやり方とかはしないのかしらん?
plugin とか実装したことのある人の意見とかアドバイスがあったらよろしこです m(_ _)m
0727質問
2006/04/17(月) 21:09:36ID:fgM7OcPI正規表現にて
&str1 = "ZZZZ"
&str2 = "YYYY"
$bufの値の中で
value="xxxZZZZxx"
を見つけたら
value="YYYYxxxZZZZxx"
に一括変換したい。
(xは任意の文字列、英数字および.~-/?&+=:@%;#%)
いろいろ試しましたが
$bufから"value="が消滅したりしてだめでした。
だれか力を貸してください。
0728727
2006/04/17(月) 21:25:52ID:fgM7OcPI正規表現でもなくともいいのですが・・・
0729nobodyさん
2006/04/17(月) 21:27:37ID:???「require」「package」「シンボルテーブル」あたりの知識が足りないの分かってんなら調べりゃいいじゃん。
そもそもplug-inで追加される機能が誰に対してのものなのか。
>>727
$bufの文字列内に$str1が存在すれば$bufの7文字目と8文字目の間に$str2を挿入するってこと?
substrを左辺値にして使うといい。
どうしても置換でしたければ s/^(value=")(.*$str1.*")$/$1$str2$2/;
0731727
2006/04/17(月) 22:08:29ID:fgM7OcPI>>730
$str1,$str2でした。
0732727
2006/04/17(月) 22:33:27ID:fgM7OcPI>>729
>$bufの文字列内に$str1が存在すれば$bufの7文字目と8文字目の間に$str2を挿入するってこと?
という意味ではなく、
$bufの文字列内の任意位置に「value="xxxZZZZxx"」(xは0文字以上の英数字(.~-/?&+=:@%;#%))
という文字列部分を
「value="YYYYxxxZZZZxx"」に変換したかった。
ありがとうございます。
$buf =~ s/(value\=\")([\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]*$str1[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]*\")/$1$str2$2/g;
にて動作いたしました。(テストパターンが万全ではないですが・・・)
何か間違いなどがございましたら、ご指摘ください。
0733nobodyさん
2006/04/17(月) 22:43:52ID:???opendirでpluginディレクトリ開いて順に名前を取得したらrequireなりuseなりすりゃいんじゃないの?
てか明らかにuse strict;したこと無いやつにそこまで無理するなと言いたい
0734nobodyさん
2006/04/17(月) 23:01:48ID:???sub load_plugin {
my($self, $config) = @_;
my $module = delete $config->{module};
$module =~ s/^Plagger::Plugin:://;
$module = "Plagger::Plugin::$module";
if (my $path = $self->plugins_path->{$module}) {
eval { require $path } or die $@;
} else {
$module->require or die $@;
}
$self->log(info => "plugin $module loaded.");
my $plugin = $module->new($config);
$plugin->cache( Plagger::CacheProxy->new($plugin, $self->cache) );
$plugin->register($self);
push @{$self->{plugins}}, $plugin;
}
0735nobodyさん
2006/04/17(月) 23:22:47ID:???0737nobodyさん
2006/04/17(月) 23:38:05ID:???0739nobodyさん
2006/04/18(火) 00:49:34ID:???http://ex14.2ch.net/test/read.cgi/news4vip/1145258206/
0740nobodyさん
2006/04/18(火) 00:52:31ID:???require した際に各プラグインが最初に実行する関数をたとえば pluginmain としたとして、
そうすると複数のプラグインで関数名がだぶることになって -W 付で実行してるとエラー吐かれるんですよ
だから各プラグインで実行される関数名をプラグインから指定すりゃまぁなんとかなるかなって思った次第です
>734
その関数に渡される値が何なのかわからないからどうとも言えないかなぁ
とりあえず真面目にパッケージとか学んでみようかと思う
0742nobodyさん
2006/04/18(火) 02:36:43ID:???#!/usr/bin/perl -W
use strict;
{ package Foo; sub new { bless { foo => 'foo' } } sub var { $_[0]->{'foo'} } }
{ package Bar; sub new { bless { bar => 'bar' } } sub var { $_[0]->{'bar'} } }
{ package Baz; sub new { bless { baz => 'baz' } } sub var { $_[0]->{'baz'} } }
print join ',', Foo->new->var, Bar->new->var, Baz->new->var;
__END__
http://www.kt.rim.or.jp/~kbk/perl5.005/perlmod.html
http://www.kt.rim.or.jp/~kbk/perl5.005/perlobj.html
http://www.kt.rim.or.jp/~kbk/perl5.005/perlbot.html
http://perl.infoware.ne.jp/documents/perlboot.ja.html
http://search.cpan.org/~miyagawa/Plagger-0.6.3/
0743nobodyさん
2006/04/18(火) 10:30:14ID:???パッケージなんて簡単だろ。
package Plugin::Foo
sub baa{
}
....
て書いてrequire Plugin::Foo;
名前空間を無かったことにしたいなら呼び出し先でuse Exporter;しろ
0744nobodyさん
2006/04/18(火) 13:20:05ID:???掲示板等でタグを使用不可にしたいのですが、
&は変換するけど、&はそのままで除外するという場合
どのようにすればよいでしょうか?
$str =~ s/&[^(amp;)]/&/g;
このようにしたのですがうまくいきません。
0745744
2006/04/18(火) 13:23:54ID:???訂正します。全角にしました。
&は変換するけど、&amp;はそのままで除外するという場合です。
$str =~ s/&[^(amp;)]/&amp;/g;
うまくいきません。
0746nobodyさん
2006/04/18(火) 14:13:25ID:???0747nobodyさん
NGNGそれ自体を実現するには否定先読みを使えば良い
$str =~ s/&(?!amp;)/&/g;
が、もしかすると、やりたいことは置換の順序を変えればできたりしない?
$str =~ s/&/&/g;
$str =~ s/</</g;
$str =~ s/>/>/g;
$str =~ s/"/"/g;
0748744
2006/04/18(火) 14:45:53ID:pGVz01kP出来ませんでした。ありがとうございました。
>>747
おぉ!出来ました。ありがとうございました。
否定先読みというのは初めて知りました。
ちなみに「やりたいこと〜」でご指摘されてることは私の想定していたことではありませんが、
よく見るそのやり方の順序に意味があったとは知りませんでした。
なるほど、勉強になります。
0749nobodyさん
2006/04/19(水) 16:50:38ID:YxQG/IvKで、ある文字列数以上の長さ以上で
文字列($comment)に全角がなかったら スパムって判定をしたいと考えてます。
見よう見真似で
---------------------------------------------------------
if(length($comment) > 128){ #128文字以上の場合チェック
$spam_flg = 1;
if ($comment =~ /[\xA1-\xFE][\xA1-\xFE]/){ #全角が含まれてるから日本語
$spam_flg = 0;
}
if($spam_flg > 0){ #多分に外国のお方。
Error("スパムでした");
}
}
----------------------------------------------------------
でやったのですが
判定が成功せずに、全文半角でも $spam_flg= 0 になっちゃいます。
if ($comment =~ /[\x80-\xff]/) { でもだめでした。
文字コードはEUCです。
どなたか m(_ _"m)ペコリ
0750nobodyさん
2006/04/19(水) 17:41:23ID:???0751nobodyさん
2006/04/19(水) 17:52:53ID:???Jcodeを使うときに、
$str = jcode($str)->mime_encode;
で、メールのヘッダ部分を作れ、
$str = jcode($str)->mime_decode->sjis;
で元に戻りますよね?
で、同じことをEncodeモジュールでやろうとして
use Encode 'decode', 'encode';
my $str = 'ソース焼きそば十杯おいしいな☆';
my $header = encode('MIME-Header-ISO_2022_JP', $str);
だとエンコードされた文字列がおかしく(Jcodeと比較して)、さらにデコードの方法がわかりません。
my $str =
'=?ISO-2022-JP?B?P1w/Wz9YPxskKEQ/PxsoQj8/Pz8bJChEPz8bKEJcP3Q/Pz8/Pz8/Pz8/?=
=?ISO-2022-JP?B?Pz9cPz8/GyQoRD8/GyhCPz8/Pz8/Pz8/Pz8/?=';
$str = decode('MIME-Header-ISO_2022_JP', $str);
だと、”MIME B unsupported..”
Encode::from_to($str,'MIME-Header-ISO_2022_JP','shiftjis');
でも同じ・・・
ソースはsjis書いています。
よろしくお願いします・・・。
0752nobodyさん
2006/04/19(水) 18:11:24ID:???0753749
2006/04/19(水) 20:40:17ID:tcTD8ojrでも、全角文字の判別がよくわかんないです
もうちょっと。。 m(_ _"m)ペコリ
0754nobodyさん
2006/04/20(木) 11:17:19ID:???# Shift_JISで保存
use Encode qw/encode decode/;
use Jcode;
my $str = 'ソース焼きそば十杯おいしいな☆';
# Jcode
my $header_jcode = jcode($str)->mime_encode;
print "$header_jcode\n";
print jcode($header_jcode)->mime_decode->sjis, "\n";
# Encode
my $header_encode = encode('MIME-HEADER-ISO_2022_JP', decode('Shift_JIS', $str));
print "$header_encode\n";
my $decoded = encode('Shift_JIS', decode('MIME-HEADER', $header_encode));
print "$decoded\n";
0756nobodyさん
2006/04/20(木) 17:58:44ID:???0758nobodyさん
2006/04/21(金) 16:34:52ID:c29HAKrqこの1文字が「漢字」か「漢字以外」かを判別する方法を教えて下さい。
文字コードはEUC使ってますが、UTF-8でも良いです。
よろしくお願い致します。
0759nobodyさん
2006/04/21(金) 16:39:19ID:???JperlかPerl5.8以降を使ってねん
0760nobodyさん
2006/04/21(金) 16:40:03ID:???0763nobodyさん
2006/04/21(金) 17:20:11ID:c29HAKrqありがとうございます。やってみたのですが、上手く動きません。
ひらがなにもカタカナにもマッチしてしまいます。
試しに
/あ/
だと、ちゃんと「あ」にマッチするのですが、
/[あ]/
だと、「あ」以外の全ての文字にマッチしてしまいます。
どうも日本語で文字クラスが使えないっぽい…。
Perlのバージョンは5.8.5、EUC環境です。
何か初歩的なまちがいをしてるような気もしますが、
もしありがちなミスなどあれば教えて下さい。
よろしくお願い致します。
0764763
2006/04/21(金) 17:51:19ID:???全て解決しました。
みなさん、ありがとうございました。
0765nobodyさん
2006/04/21(金) 23:19:35ID:???ABCは数が変動する為指定する事ができずお手上げで…。
0766nobodyさん
2006/04/21(金) 23:20:59ID:???0767nobodyさん
2006/04/21(金) 23:32:11ID:???0769nobodyさん
2006/04/22(土) 00:27:08ID:???0770nobodyさん
2006/04/22(土) 00:40:06ID:???ファイル数が変動するってことか?
readdirでファイル一覧取得してchmodじゃだめなのか?
いいたいことを勘違いしてたらすまそ
0771nobodyさん
2006/04/22(土) 04:40:48ID:???use File::chmod;
chmod(0666, <*>);
とか?
0772nobodyさん
2006/04/22(土) 08:49:21ID:???ファイル名を変えるのに、単純に、
rename "AB1234.txt","AB0000.txt";
は上手くできるのですが、
ディレクトリ内のファイルの探してから名前を変えようと
したら上手くいきません。何がダメなんでしょうか?
use File::Find;
$dir="./";
find(sub { push @files, $File::Find::name if -f }, $dir);
foreach(@files){
if(substr($_,2,2) eq "AB"){
$file1=$_;
}
}
$file2="AB0000.txt";
rename "$file1","$file2";
よろしくお願いします。
0773nobodyさん
2006/04/22(土) 11:03:29ID:???この条件に当てはまらなかった時、$file1はどうなる?
0774nobodyさん
2006/04/22(土) 11:12:22ID:???print substr("AB1234.txt", 2, 2);
を見てみる所から始めないと。デバッグの基本だよ。
Perl以外の言語経験があるかどうかは分からないけど、このレベルだと
何かプログラムと呼べる物を完成させるのは難しいと思う。
0775nobodyさん
2006/04/22(土) 11:33:07ID:???ただしこれでも、/^..12(.*)/のファイルが全部条件に当てはまるので
どっちにしてもダメ。
やりたい事をぼかすのではなく、もっと正確に書かないと…。
カレントを見るならFile::Findなんか使う必要もないし、全体的に意味不明。
0776751
2006/04/22(土) 12:35:38ID:???SJISやEUCでソース書く限り、その処理が全部について回るのか・・・
ありがとう。
>>772
単純にforeach(@files)の中で
if($_ =~ /^AB/){
・・・
}
でだめなん?
$_ =~ /^AB\d{4}/
$_ =~ /^AB\d{4}.txt$/
とか、大文字小文字区別したくなかったら最後に/iとか。
意味が違う?
0777772
2006/04/22(土) 19:08:13ID:???if(substr($_,2,2) eq "AB"){ の件なんですけど、
@filesで格納されているのは、 "./AB1234.txt" となるので、
"./"を外すためにやってます。
カレントディレクトリの中に入っている ABで始まるファイルを
見つけて、それのファイル名を変更したいのです。
0778nobodyさん
2006/04/22(土) 19:18:24ID:???じゃあこれでどうよ。
@files = grep /^AB/, glob "*";
rename shift @files, "AB0000.txt";
0779772
2006/04/22(土) 19:35:58ID:???じっくり考えたらこういうやり方がある事がわかりました。
@files=glob("AB*.txt");
$file1=$files[0];
$file2="AB9999.html";
$res = rename "$file1","$file2";
まだまだ勉強不足を痛感しました。(汗)
foreach my $source_file (grep /^AB/, readdir $dir_handle) {
$source_file or die "file not found.:$!";
rename $source_file, $dist_filename
? last
: die "Can not rename file.:$!"
}
closedir $dir_handle;
こんな感じかしら。。。
と思ったら、、、
>>781
そうですか。スマソ。
0783nobodyさん
2006/04/23(日) 00:45:55ID:???>782
くじけずにこれからもよろしこですm(_ _)m
0787nobodyさん
2006/04/23(日) 07:38:00ID:???0788nobodyさん
2006/04/23(日) 07:44:07ID:???0789nobodyさん
2006/04/23(日) 07:45:46ID:???0790nobodyさん
2006/04/23(日) 07:47:08ID:???0791nobodyさん
2006/04/23(日) 11:07:48ID:???_,,‐─-v‐、,,、
,,-‐'": : : : : : : : : : `ヽ
/: : : : : : : ,,__ : : : : : : \
r': ,、,,.-─''"゛ ミ : : : : : : : 'i、
`/ / ミ_ : : : : : : :,、}
i l _,,..-‐^‐-、 `゙i: : : /l.l|
i、}‐-、 ヽ;;/,rェッ;;'" ゙ー' 9iリ!
| ',tテi ヽ='" ゞ t'
| 'i"´| , -、 ヽ-、,,___
| '}、 !,,tu'" ヽ、 ,l: ‐-‐" }: : : : :
} lヽ、__,,,.-‐ヽ /: : : : : : /|: : : : :
,r/ /: : :ヽー‐' ノ: : : : : : : / .|: : : : :
/: \ /: : : : : 丶,, -''_: : : : : : / |: : : : :
/: : : : :ヽ/: : : : : : : ヾ''‐--‐ヽ |: : : : :
/: : : : : : : : : : : : : : : : : : ヽ\: : / |: : : : :
ビップ・デ・ヤレー[Vuip De Yale]
(1955〜 フランス)
0792nobodyさん
2006/04/23(日) 13:44:20ID:???0793nobodyさん
2006/04/23(日) 16:36:39ID:???いい加減寒いしウザいんでやめて欲しいのだが
0794nobodyさん
2006/04/23(日) 17:29:00ID:???名前の前に”-”がついているのは何か意味があるのでしょうか?
_____________________________________________________________________________________
ほとんどのCGI.pmルーチンはさまざまな引数を受け取ります。
中には20ものオプションの引数を受取るものもあります!
このインターフェースを簡単にするため、すべてのルーチンは以下のような
名前付き引数呼び出しスタイルを使います:
print $q->header(-type=>'image/gif',-expires=>'+3d');
0795nobodyさん
2006/04/23(日) 17:35:28ID:???0796nobodyさん
2006/04/23(日) 17:50:30ID:???my @hoge;
my $ref = $session -> param('hoge');
if (ref($ref) eq 'ARRAY'){
@hoge = @$ref;
}else{
push(@hoge,$ref);
}
セッションのパラメータから値を受け取りたいのですが、
'hoge'が配列の場合はリファレンスが返り値になってしまい、
上記のように、型を調べなければならず面倒です。
my @hoge = $session -> param('hoge');
このように1行で済ませたいのですが、どのようにすれば宜しいでしょうか?
よろしくお願いします。
0797nobodyさん
2006/04/23(日) 18:14:18ID:???是非とも作者に聞いてくれー。
構造的にはCGI.pm内部で使われているCGI::Utilのrearrange()が
パラメータの名前を扱うときは'-'を付ける仕様になってるから。
>>796
せめて二行なら。
push(@hoge, (ref($ref) eq 'ARRAY' ? @{$ref} : $ref));
ずばりその一行だけなら大仰だけどアダプタ作る。
適当にやるなら、サブルーチン作ってそれを呼び出すとか。
0798nobodyさん
2006/04/23(日) 20:28:04ID:???試さずに書いてみるけど、ダミーのhogeを2つほどくっつけて、
常にリファレンスを返値にするようにしたらいいんじゃないの?
0800nobodyさん
2006/04/24(月) 02:29:53ID:???もし画像が存在しなくてopenできないとき、404エラーにすることはできるでしょうか。
適当にSTDERRに「404 File not found」とか書いてみましたが、
apacheのログにはステータスコード500が残ってしまいます(dieとかしたため)。
宜しくお願いします。
0801nobodyさん
2006/04/24(月) 02:30:49ID:???0802nobodyさん
2006/04/24(月) 03:12:31ID:???まさかと思って今ググって僕へのメッセージだと気づきました。
ありがとうございます。
0804nobodyさん
2006/04/24(月) 03:56:30ID:???下記のようなエラー処理で、それっぽいログが残るようになりました。これでいいのか
謎ですが。
print "Status: 404 Not Found \n"
print STDERR "File does not exist: $ENV{'DOCUMENT_ROOT'}$ENV{'SCRIPT_NAME'}?f=$filename";
0805nobodyさん
2006/04/24(月) 07:47:18ID:3duczMdL吐き出すhtmlのhead要素の属性値を変数にしてみたんですが、
動かず、perlチェックなどに掛けてみると、それを定義する部分にこのようなエラーが出ました。
Name "main::keyword" used only once: possible typo at hospital.cgi line 11.
11行目の定義してる部分です。
何か使ってはいけない変数名とかあるのでしょうか?
分かる方お教え下さいますようお願いします。
0806nobodyさん
2006/04/24(月) 08:07:54ID:???use strictしたほうがいい。
それは置いておくとして。
それエラーじゃなくて警告。
$keywordという変数がスクリプト中で一度しか使われてないから打ち間違いじゃない?
とPerlが気を利かせて言ってる。
変数名間違えてるんじゃないの?
0807805
2006/04/24(月) 08:32:58ID:3duczMdLレスありがとうございます。
変数はrequireでplファイルを読み込んだ先で使っているのでそのような警告が出ていたようです。
use strict;を入れてチェックにかけると
Global symbol "$keywords" requires explicit package name at index.cgi 行番号 12.
というエラーが全ての変数で出ました。
サーバーのperlチェッカーでは
評価
◎ 所有者は問題ありません
◎ グループは問題ありません
◎ パーミッションに問題はありません
◎ 実行ディレクトリに問題はありません
◎ ヘッダ情報に問題はありません
◎ 改行コードに問題はありません
◎ 文法上の問題はありません
なのに500Internal Server Errorエラーで動きません。
考えられる原因は何がありますでしょうか?
ご教授宜しくお願い致します。
0808nobodyさん
2006/04/24(月) 08:48:34ID:???いや、だからstrictが出したエラーが全てなんだが、英語読めないのか?
500が嫌ならstrict外して使えばいいだけだけど。
>>805のメッセージだけなら別に問題ないし。
0809805
2006/04/24(月) 08:55:30ID:3duczMdLレスありがとうございます。
strict外して使って500エラーなんです。
外した状態でエラーメッセージは>>805のみです。
0810nobodyさん
2006/04/24(月) 08:57:41ID:???なにも考えずに書かれたスクリプトでいきなり書いても無理。
んで動かない理由で500サーバエラーとか言われても何もわからない。
500 Internal Server Errorは、適切なContent-Typeヘッダが出力されませんでしたという、Apacheの結果的な応答。
実行したプログラムが出力したエラーはApacheのエラーログに書いてあるからそっちの内容がないとわからないよ。
ついでに、>>805では$keywordなのに>>807では$keywordsなんだけど、変数名大丈夫か…。
0811805
2006/04/24(月) 09:06:05ID:???レスありがとうございます。
Content-Typeを確認したら間違っていました。
おかげさまで解決しました。
ありがとうございました。
0813nobodyさん
2006/04/24(月) 09:30:31ID:3duczMdL基本でしたか。
お手数おかけしました。
みなさん本当に有難う御座いました。
0814nobodyさん
2006/04/24(月) 10:48:05ID:???>>799
ありがとうございます。
もう一つの質問の回答もお願いします。
この引数、ハッシュという形式に似ているように思われるのですが、ハッシュなのでしょうか?
0815nobodyさん
2006/04/24(月) 10:54:21ID:???へんてこりんなデザインになってします。
フォームボタン使わずにgetみたいにpostさせる方法ってありますでしょうか?
0817nobodyさん
2006/04/24(月) 11:18:38ID:???0818nobodyさん
2006/04/24(月) 11:34:32ID:???スレ違わないが、質問者の意図からはすれ違ってる予感
0820nobodyさん
2006/04/24(月) 12:26:56ID:???sub rearrange {
my($order,@param) = @_;
return () unless @param;
if (ref($param[0]) eq 'HASH') {
@param = %{$param[0]};
} else {
return @param
unless (defined($param[0]) && substr($param[0],0,1) eq '-');
}
0821nobodyさん
2006/04/24(月) 17:24:37ID:???DOS窓なんかでファイルを結合するとき
copy a.txt+b.txt
でできることを、perl「だけ」でできますか?(=system/exec使用禁止なんです)
open (IN,b.txt);
while(<IN>){
my $ftmp = $_;
open (OUT,'>>a.txt');
print OUT $ftmp;
close OUT;
}
close IN;
}
じゃどうにもこうにも・・・(filehandle "IN"は閉じられていますと警告が出て、できるファイルが0バイト)
a.txtは200MBほど、b.txtも5MBほどです。
0822nobodyさん
2006/04/24(月) 17:32:21ID:???せめて初歩的なデバッグくらいはしましょう。
INはwhileループの終わりで、次を読む前に閉じてますよ。
それとOUTを一行ずつopen,closeするのは無駄なので
whileループの外に出しましょう。
0823nobodyさん
2006/04/24(月) 17:43:02ID:???ハッシュリファレンスも処理するってことで、通常はリストで指定でしょ。
use CGI qw(:cgi);
print header(-type=>'text/html', -charset=>'Shift_JIS'); # リスト
print header('-type', 'text/html', '-charset', 'EUC-JP'); # リスト
print header({-type=>'text/html', -charset=>'UTF-8'}); # ハッシュリファレンス
0824nobodyさん
2006/04/24(月) 20:09:00ID:???perl 5.8.4 です
//-- ソースここから
use utf8;
use strict;
print "content-type: text/html; charset=UTF-8\n\n";
print "run OK\n";
exit;
--// ここまで
ソースをutf8で保存 → 500 Error
上記を BOM 付で試みる → 500 Error
ソースをutf8で保存、use utf8 → 500 Error
上記を BOM 付で試みる → 500 Error
どちらも 「一行目に #! が無い」 といってエラーになっています
utf で記述する際は他に気をつけることってあるのでしょうか?
ググっても 「utf8で保存してuse utf8すりゃいい」とまでしかかかれておらず四苦八苦してます
0825nobodyさん
2006/04/24(月) 20:12:31ID:???0828nobodyさん
2006/04/24(月) 20:21:05ID:???禿ワロタwwwwwwww
0829nobodyさん
2006/04/24(月) 20:23:48ID:???('A`) メガネメガネ
ノ ノ)_
0830nobodyさん
2006/04/24(月) 20:32:17ID:???実際のソースでは一行目に #!/usr/bin/perl の行はあり、
EUCで保存しなおすとスクリプトは動くことは確認しています。
UTF8のBOM付、BOM無で保存しなおすと500エラーになります
0831nobodyさん
2006/04/24(月) 20:37:18ID:???BOM無しで保存した奴アップして見せてみ?
0832nobodyさん
2006/04/24(月) 20:37:23ID:???EmEditorにてBOM付、無の2通りにて保存し、その2通りでエラーが出ることを確認しています
EmEditorは5.00.1です。
0833nobodyさん
2006/04/24(月) 20:54:55ID:???メインで編集していたEmEditorは5.00だったのですが、別PCがEmEditor5.00.1で、
こちらで保存したものは動作しました
先ほどの書き込みでEmEditorは5.00.1とは書きましたが、メインPCと別PCとのEmEditorが
同じバージョンだと信じ込んでしまっており、先の書き込みおよびバージョン確認が
別PCだったため5.00.1と書きました
0834nobodyさん
2006/04/24(月) 21:35:58ID:???0835nobodyさん
2006/04/24(月) 21:46:39ID:???0836nobodyさん
2006/04/24(月) 22:16:15ID:???てっきり自分のやり方が不味いと思っていましたが、仕様だと判り安心しました
サクッとサブルーチンを組んで処理させます
ありがとうございました
0837nobodyさん
2006/04/24(月) 22:22:39ID:???掲示板程度はようやく作れるようになったので、アップローダーにも手を出してみたいと思ったのですが、
配布されているようなものはcgi-libを使っているのが多くて、
これを覚えてもアップロードの肝心な部分を勉強できないのではないかと思っているのですが。
0838nobodyさん
2006/04/24(月) 22:27:49ID:???0839nobodyさん
NGNGそれは君がどういう目的でそれを書こうとしているかによる。
規格などを含めて勉強したい(だけ)ならフルスクラッチすることをお勧めするよ。
RFCをあっちこっち読み漁って書くことになるから結構勉強になる。
しかしそれを実用しようと考えているなら、既成モジュールなり何なりを薦めるが。
# ライブラリにcgi-libを使うべきかはフレームの元だから敢えて触れないことにしておく
0840nobodyさん
NGNGttp://www.studyinghttp.net/
ここが勉強するには持って来いだと思う
既存のフルスクラッチのアップローダーとかのソース見てると
ほとんど使う事のない(例:multipart/mixed)とか、省いてるのも多く見られる
0841nobodyさん
2006/04/26(水) 04:23:21ID:hyGH423Phttp://hp.bird.to/さんの所の「私書箱SP(CGI)」
を使用させて頂こうと思っているのですが
ひとつだけ中をいじりたい事があるんです。
(ちなみに、作者様はいじる事を許可されています。)
で、HTMLでサイトを作るくらいは自分も出来るんですが
Perlの知識はまったく無いので自分なりにやっても
失敗してしまいます。
どうか、知識のある方叶えて頂けないでしょうか?
えっと、長くなるので、何度かレスさせて下さい。
0842nobodyさん
2006/04/26(水) 04:24:10ID:hyGH423P($cookie_name,$cookie_pass,$cookie_number) = get_cookie();
($c_cook,$c_name)=split(/:/,$cookie_name);
($c_cook,$c_pass)=split(/:/,$cookie_pass);
($c_cook,$c_number)=split(/:/,$cookie_number);
print <<END_OF_TEXT;
<p>
<font color="$titlecolor" size=6>$html_title</font><p>
$error_code<p>
<form method="POST" action="$script_url">
<input type="hidden" name='command' value='access'>
<table border=1>
<TR><TH colspan=2>自分の私書箱にアクセス!!</TH></TR>
<tr><td align=right>登録名</td><td><input type="text" size=20 name="name" value="$c_name"></td></tr>
<tr><td align=right>パスワード</td><td><input type="text" size=20 name="pass" value="$c_pass"></td></tr>
<tr><td align=right>私書箱番号</td><td><input type="text" size=20 name="number" value="$c_number"></td></tr>
<TR><TD align=center colspan=2><input type="submit" value="送信"></TD></TR>
</table>
</form><P>
0843nobodyさん
2006/04/26(水) 04:24:41ID:hyGH423P<table border=1>
<tr><th>ご用件をどうぞ!!</th></tr>
<tr><td>
<input type="radio" checked name='command' value='write'>私書箱に書き込む</td></tr>
<tr><td>
<input type="radio" name='command' value='mypost_regist'>私書箱の新規登録</td></tr>
<tr><td>
<input type="radio" name='command' value='mypost_delete'>私書箱の登録削除
</td></tr>
<tr><td align=center>
<input type="submit" value="送信">
</td></tr>
</table>
</form>
<form method="POST" action="$script_url">
<table width=90%>
<tr><td nowrap>
<input type="text" size=8 name="secret_pass">
<input type="submit" value="管理人専用">
</td>
<td nowrap align=right>
<font size=2><A HREF="http://hp.bird.to/index.html" target="_top">私書箱SP Ver.1.45(C)HPサービス</A></font>
</td>
</tr></table>
</form>
END_OF_TEXT
}
0844nobodyさん
2006/04/26(水) 04:25:41ID:hyGH423P画面に
「自分の私書箱にアクセス」といったBOXと
その下に「ご用件をどうぞ」のBOXが表示されるんです。
で、僕はこれの上下を入れ替えたいんです。
ただそれだけなんです。
「ご用件をどうぞ」のBOXが上に来て
「自分の私書箱にアクセス」のが下に表示されているといった感じに
したいんです。
でも、単純にプログラム文を上下入れ替えただけでは
駄目みたいで、、、 表示自体は上下変わってくれたんですが
送信押してもうんともすんとも動かず
機能しなくなっているのです。
どういった入れ替え方をすれば
上下変わってくれるんでしょうか?
すみません、ほんと。
0845nobodyさん
2006/04/26(水) 06:23:13ID:???http://pc8.2ch.net/test/read.cgi/php/1141174205/
0846nobodyさん
2006/04/26(水) 06:55:55ID:hyGH423Pここで良いと思ったんですが
質問してるだけですし。
改造というほどのもんじゃ無いと思うんですが。
とりあえず、ここで聞きたいですよ。
専門知識があれば一瞬で解決する問題なはずですから。
0847nobodyさん
2006/04/26(水) 08:00:11ID:???0848nobodyさん
2006/04/26(水) 08:00:25ID:???>改造というほどのもんじゃ無いと思うんですが。
Perlのことなにもわかってないし、わかる気すらない。って感じですね。
これは、質問と言ったレベルでなく、丸投げだし。
答えるのは簡単だけど、今後こういう丸投げが増えると困るのでスクリプト改造スレに逝ってください
0849nobodyさん
2006/04/26(水) 08:12:06ID:hyGH423P>丸投げだし。
丸投げってなんですか?
「なにもして無い奴が」って事でしょうか?
だったら違いますよ。
このスレに質問しに来たのは
自分なりにはチャレンジしての結果です。
>答えるのは簡単だけど、
そうでしょうね。
HTMLでサイト作るくらいは出来る僕からしたら
知ってる人間から見れば、
しごく簡単な質問をしてると想像出来ます。
だからこそ、教えてほしいんです。
時間をかけたくないんですよ。
「Perlをわかる気すら」って当然ですよ。
覚えたいわけじゃ無いんです。
ただ、そこだけが知りたいんです。
お願いします。
0850nobodyさん
2006/04/26(水) 08:13:57ID:hyGH423P>今後こういう丸投げが増えると困るのでスクリプト改造スレに逝ってください
たらい回しって言うんですよね、それ。
面倒だからって事でしょ。
性格悪いですよね、わかるのにそんな理由で教えないなんて。
0851質問です。
2006/04/26(水) 08:16:13ID:hyGH423Phttp://hp.bird.to/さんの所の「私書箱SP(CGI)」
を使用させて頂こうと思っているのですが
ひとつだけ中をいじりたい事があるんです。
(ちなみに、作者様はいじる事を許可されています。)
で、HTMLでサイトを作るくらいは自分も出来るんですが
Perlの知識はまったく無いので自分なりにやっても
失敗してしまいます。
どうか、知識のある方叶えて頂けないでしょうか?
えっと、長くなるので、何度かレスさせて下さい。
0852質問させて下さい
2006/04/26(水) 08:16:46ID:hyGH423P($cookie_name,$cookie_pass,$cookie_number) = get_cookie();
($c_cook,$c_name)=split(/:/,$cookie_name);
($c_cook,$c_pass)=split(/:/,$cookie_pass);
($c_cook,$c_number)=split(/:/,$cookie_number);
print <<END_OF_TEXT;
<p>
<font color="$titlecolor" size=6>$html_title</font><p>
$error_code<p>
<form method="POST" action="$script_url">
<input type="hidden" name='command' value='access'>
<table border=1>
<TR><TH colspan=2>自分の私書箱にアクセス!!</TH></TR>
<tr><td align=right>登録名</td><td><input type="text" size=20 name="name" value="$c_name"></td></tr>
<tr><td align=right>パスワード</td><td><input type="text" size=20 name="pass" value="$c_pass"></td></tr>
<tr><td align=right>私書箱番号</td><td><input type="text" size=20 name="number" value="$c_number"></td></tr>
<TR><TD align=center colspan=2><input type="submit" value="送信"></TD></TR>
</table>
</form><P>
0853質問させてください
2006/04/26(水) 08:17:22ID:hyGH423P<table border=1>
<tr><th>ご用件をどうぞ!!</th></tr>
<tr><td>
<input type="radio" checked name='command' value='write'>私書箱に書き込む</td></tr>
<tr><td>
<input type="radio" name='command' value='mypost_regist'>私書箱の新規登録</td></tr>
<tr><td>
<input type="radio" name='command' value='mypost_delete'>私書箱の登録削除
</td></tr>
<tr><td align=center>
<input type="submit" value="送信">
</td></tr>
</table>
</form>
<form method="POST" action="$script_url">
<table width=90%>
<tr><td nowrap>
<input type="text" size=8 name="secret_pass">
<input type="submit" value="管理人専用">
</td>
<td nowrap align=right>
<font size=2><A HREF="http://hp.bird.to/index.html" target="_top">私書箱SP Ver.1.45(C)HPサービス</A></font>
</td>
</tr></table>
</form>
END_OF_TEXT
}
0854質問させてください
2006/04/26(水) 08:18:08ID:hyGH423P画面に
「自分の私書箱にアクセス」といったBOXと
その下に「ご用件をどうぞ」のBOXが表示されるんです。
で、僕はこれの上下を入れ替えたいんです。
ただそれだけなんです。
「ご用件をどうぞ」のBOXが上に来て
「自分の私書箱にアクセス」のが下に表示されているといった感じに
したいんです。
でも、単純にプログラム文を上下入れ替えただけでは
駄目みたいで、、、 表示自体は上下変わってくれたんですが
送信押してもうんともすんとも動かず
機能しなくなっているのです。
どういった入れ替え方をすれば
上下変わってくれるんでしょうか?
すみません、ほんと。
0855nobodyさん
2006/04/26(水) 08:45:34ID:???0856nobodyさん
2006/04/26(水) 08:46:02ID:???0858nobodyさん
2006/04/26(水) 08:51:26ID:???>丸投げってなんですか?
>「Perlをわかる気すら」って当然ですよ。
>覚えたいわけじゃ無いんです。
>ただ、そこだけが知りたいんです。
それを丸投げという。
さらに、ここはPerlを覚えたい人達が質問するスレです。
よってスレ違いです。
お帰り下さい。
0859nobodyさん
2006/04/26(水) 09:06:17ID:???思いっきりHTMLの範疇なんだけど・・・
0860nobodyさん
2006/04/26(水) 09:17:20ID:???0861nobodyさん
2006/04/26(水) 09:20:49ID:???perlの知識は要らないから、もう一度見直すこと。
それと、ここを利用する前に
初心者の質問に行って、スレッドフロート型掲示板について
勉強してきた方がいい。
> たらい回しって言うんですよね、それ。
これは、かなり恥ずかしい発言だよ。
0862nobodyさん
2006/04/26(水) 09:24:19ID:hyGH423Pほんと困ってるんです。
お願いします。
>>859
>HTMLの範疇
そんな??
なんかおかしいんですよ。
上下を取り替える事は出来るんです、
俺でも。
でも、私書箱が機能しなくなるんですよ。。。
その原因がどこにあるのかがわからないんです。
0863nobodyさん
2006/04/26(水) 09:25:37ID:hyGH423Pわかるなら、教えてください。
ほんと困ってるんです。
0864nobodyさん
2006/04/26(水) 09:36:20ID:???0867nobodyさん
2006/04/26(水) 10:20:13ID:hyGH423Phttp://hp.bird.to/さんの所の「私書箱SP(CGI)」
を使用させて頂こうと思っているのですが
ひとつだけ中をいじりたい事があるんです。
(ちなみに、作者様はいじる事を許可されています。)
で、HTMLでサイトを作るくらいは自分も出来るんですが
Perlの知識はまったく無いので自分なりにやっても
失敗してしまいます。
どうか、知識のある方叶えて頂けないでしょうか?
えっと、長くなるので、何度かレスさせて下さい。
0868nobodyさん
2006/04/26(水) 10:22:56ID:hyGH423P($cookie_name,$cookie_pass,$cookie_number) = get_cookie();
($c_cook,$c_name)=split(/:/,$cookie_name);
($c_cook,$c_pass)=split(/:/,$cookie_pass);
($c_cook,$c_number)=split(/:/,$cookie_number);
print <<END_OF_TEXT;
<p>
<font color="$titlecolor" size=6>$html_title</font><p>
$error_code<p>
<form method="POST" action="$script_url">
<input type="hidden" name='command' value='access'>
<table border=1>
<TR><TH colspan=2>自分の私書箱にアクセス!!</TH></TR>
<tr><td align=right>登録名</td><td><input type="text" size=20 name="name" value="$c_name"></td></tr>
<tr><td align=right>パスワード</td><td><input type="text" size=20 name="pass" value="$c_pass"></td></tr>
<tr><td align=right>私書箱番号</td><td><input type="text" size=20 name="number" value="$c_number"></td></tr>
<TR><TD align=center colspan=2><input type="submit" value="送信"></TD></TR>
</table>
</form><P>
0869nobodyさん
2006/04/26(水) 10:23:41ID:hyGH423P<table border=1>
<tr><th>ご用件をどうぞ!!</th></tr>
<tr><td>
<input type="radio" checked name='command' value='write'>私書箱に書き込む</td></tr>
<tr><td>
<input type="radio" name='command' value='mypost_regist'>私書箱の新規登録</td></tr>
<tr><td>
<input type="radio" name='command' value='mypost_delete'>私書箱の登録削除
</td></tr>
<tr><td align=center>
<input type="submit" value="送信">
</td></tr>
</table>
</form>
<form method="POST" action="$script_url">
<table width=90%>
<tr><td nowrap>
<input type="text" size=8 name="secret_pass">
<input type="submit" value="管理人専用">
</td>
<td nowrap align=right>
<font size=2><A HREF="http://hp.bird.to/index.html" target="_top">私書箱SP Ver.1.45(C)HPサービス</A></font>
</td>
</tr></table>
</form>
END_OF_TEXT
}
0870nobodyさん
2006/04/26(水) 10:24:30ID:hyGH423P画面に
「自分の私書箱にアクセス」といったBOXと
その下に「ご用件をどうぞ」のBOXが表示されるんです。
で、僕はこれの上下を入れ替えたいんです。
ただそれだけなんです。
「ご用件をどうぞ」のBOXが上に来て
「自分の私書箱にアクセス」のが下に表示されているといった感じに
したいんです。
でも、単純にプログラム文を上下入れ替えただけでは
駄目みたいで、、、 表示自体は上下変わってくれたんですが
送信押してもうんともすんとも動かず
機能しなくなっているのです。
どういった入れ替え方をすれば
上下変わってくれるんでしょうか?
すみません、ほんと。
0871nobodyさん
2006/04/26(水) 10:28:09ID:???NG推奨ワード:「私書箱」
0872nobodyさん
NGNG0873nobodyさん
2006/04/26(水) 10:43:33ID:hyGH423P教えてくれたら、
僕は消えるのに
そっちのが面倒じゃないの?
ってか、僕は間違っていない。
今までのみんながいじわるしてるだけじゃないか。
間違って無い。
0874nobodyさん
2006/04/26(水) 10:49:41ID:???0875nobodyさん
NGNG★三 【 スクリプト改造工房 PART 9 】 ★三
http://pc8.2ch.net/test/read.cgi/php/1143834740/
このスレに行くべきだし。
君はスレ違いなんだよ。正しくなんかない。間違ってる。
後こっちも
最高にド低脳な発言してください in ム板(XU)
http://pc8.2ch.net/test/read.cgi/tech/1141400056/
0877nobodyさん
2006/04/26(水) 11:23:49ID:???アップローダー作ってまして、cgi-lib.plで送信されたデータを
&ReadParse;する時に、データを全て受信するんですか?
それともperlスクリプトにformデータをsubmitされた時点で
全てのデータを送信し、その後受信し終わってからperlが走るんでしょうか?
初歩的な質問で申し訳ないですが教えてください。
0878nobodyさん
2006/04/26(水) 11:25:01ID:???複数スレマルチポスト・コピペ報告スレ35@全板共通
http://qb5.2ch.net/test/read.cgi/sec2chd/1143873802/478-481
0879nobodyさん
2006/04/26(水) 12:32:46ID:hyGH423P書いてねーじゃねーか!!!!!!!!!!!!
この嘘つきが!!!!!!!!!!!!!!
0880nobodyさん
2006/04/26(水) 12:35:22ID:hyGH423Phttp://hp.bird.to/さんの所の「私書箱SP(CGI)」
を使用させて頂こうと思っているのですが
ひとつだけ中をいじりたい事があるんです。
(ちなみに、作者様はいじる事を許可されています。)
で、HTMLでサイトを作るくらいは自分も出来るんですが
Perlの知識はまったく無いので自分なりにやっても
失敗してしまいます。
どうか、知識のある方叶えて頂けないでしょうか?
えっと、長くなるので、何度かレスさせて下さい。
0881nobodyさん
2006/04/26(水) 12:35:53ID:hyGH423P($cookie_name,$cookie_pass,$cookie_number) = get_cookie();
($c_cook,$c_name)=split(/:/,$cookie_name);
($c_cook,$c_pass)=split(/:/,$cookie_pass);
($c_cook,$c_number)=split(/:/,$cookie_number);
print <<END_OF_TEXT;
<p>
<font color="$titlecolor" size=6>$html_title</font><p>
$error_code<p>
<form method="POST" action="$script_url">
<input type="hidden" name='command' value='access'>
<table border=1>
<TR><TH colspan=2>自分の私書箱にアクセス!!</TH></TR>
<tr><td align=right>登録名</td><td><input type="text" size=20 name="name" value="$c_name"></td></tr>
<tr><td align=right>パスワード</td><td><input type="text" size=20 name="pass" value="$c_pass"></td></tr>
<tr><td align=right>私書箱番号</td><td><input type="text" size=20 name="number" value="$c_number"></td></tr>
<TR><TD align=center colspan=2><input type="submit" value="送信"></TD></TR>
</table>
</form><P>
0882nobodyさん
2006/04/26(水) 12:37:00ID:hyGH423P<table border=1>
<tr><th>ご用件をどうぞ!!</th></tr>
<tr><td>
<input type="radio" checked name='command' value='write'>私書箱に書き込む</td></tr>
<tr><td>
<input type="radio" name='command' value='mypost_regist'>私書箱の新規登録</td></tr>
<tr><td>
<input type="radio" name='command' value='mypost_delete'>私書箱の登録削除
</td></tr>
<tr><td align=center>
<input type="submit" value="送信">
</td></tr>
</table>
</form>
<form method="POST" action="$script_url">
<table width=90%>
<tr><td nowrap>
<input type="text" size=8 name="secret_pass">
<input type="submit" value="管理人専用">
</td>
<td nowrap align=right>
<font size=2><A HREF="http://hp.bird.to/index.html" target="_top">私書箱SP Ver.1.45(C)HPサービス</A></font>
</td>
</tr></table>
</form>
END_OF_TEXT
}
0883nobodyさん
2006/04/26(水) 12:37:41ID:hyGH423P画面に
「自分の私書箱にアクセス」といったBOXと
その下に「ご用件をどうぞ」のBOXが表示されるんです。
で、僕はこれの上下を入れ替えたいんです。
ただそれだけなんです。
「ご用件をどうぞ」のBOXが上に来て
「自分の私書箱にアクセス」のが下に表示されているといった感じに
したいんです。
でも、単純にプログラム文を上下入れ替えただけでは
駄目みたいで、、、 表示自体は上下変わってくれたんですが
送信押してもうんともすんとも動かず
機能しなくなっているのです。
どういった入れ替え方をすれば
上下変わってくれるんでしょうか?
すみません、ほんと。
0884nobodyさん
2006/04/26(水) 12:40:13ID:???0885nobodyさん
NGNG0886nobodyさん
2006/04/26(水) 12:43:58ID:???0887nobodyさん
2006/04/26(水) 12:44:02ID:hyGH423P聞き続けますからいいですよ、別に。
優しい人が教えてくれると思うんで。
0888超初心者
2006/04/26(水) 12:44:53ID:???CGIで書くと ↓これって絶対に必要なんでしょうか?
print "Content-type: text/html\n";
全部のページのソース見たら最初に改行入ってるのって
これのせいですよね?
みなさんはどうしてますでしょうか?
0890nobodyさん
2006/04/26(水) 12:47:55ID:hyGH423Phttp://hp.bird.to/さんの所の「私書箱SP(CGI)」
を使用させて頂こうと思っているのですが
ひとつだけ中をいじりたい事があるんです。
(ちなみに、作者様はいじる事を許可されています。)
で、HTMLでサイトを作るくらいは自分も出来るんですが
Perlの知識はまったく無いので自分なりにやっても
失敗してしまいます。
どうか、知識のある方叶えて頂けないでしょうか?
えっと、長くなるので、何度かレスさせて下さい。
0891nobodyさん
2006/04/26(水) 12:47:57ID:???483 :名無しの報告 :2006/04/26(水) 12:34:47 ID:xtIDN3z70
質問者を装ってねーーーーーーーよ!!!!!!!!!!!!!!!!
アホが!!!!!!!!!!!!
ほんとに質問してるのにお前らが答えてくれないんだろーが!!!!!!!
486 名前:名無しの報告[] 投稿日:2006/04/26(水) 12:47:03 ID:xtIDN3z70
>>規制人さんへ
ID:7I8tmvWQ0がスレで
初心者の質問してる僕を
煽ってるんでそこんとこ宜しくです。
0892nobodyさん
2006/04/26(水) 12:49:20ID:hyGH423Phttp://hp.bird.to/さんの所の「私書箱SP(CGI)」
を使用させて頂こうと思っているのですが
ひとつだけ中をいじりたい事があるんです。
(ちなみに、作者様はいじる事を許可されています。)
で、HTMLでサイトを作るくらいは自分も出来るんですが
Perlの知識はまったく無いので自分なりにやっても
失敗してしまいます。
どうか、知識のある方叶えて頂けないでしょうか?
えっと、長くなるので、何度かレスさせて下さい。
0893nobodyさん
2006/04/26(水) 12:50:19ID:hyGH423P($cookie_name,$cookie_pass,$cookie_number) = get_cookie();
($c_cook,$c_name)=split(/:/,$cookie_name);
($c_cook,$c_pass)=split(/:/,$cookie_pass);
($c_cook,$c_number)=split(/:/,$cookie_number);
print <<END_OF_TEXT;
<p>
<font color="$titlecolor" size=6>$html_title</font><p>
$error_code<p>
<form method="POST" action="$script_url">
<input type="hidden" name='command' value='access'>
<table border=1>
<TR><TH colspan=2>自分の私書箱にアクセス!!</TH></TR>
<tr><td align=right>登録名</td><td><input type="text" size=20 name="name" value="$c_name"></td></tr>
<tr><td align=right>パスワード</td><td><input type="text" size=20 name="pass" value="$c_pass"></td></tr>
<tr><td align=right>私書箱番号</td><td><input type="text" size=20 name="number" value="$c_number"></td></tr>
<TR><TD align=center colspan=2><input type="submit" value="送信"></TD></TR>
</table>
</form><P>
0894nobodyさん
2006/04/26(水) 12:51:01ID:hyGH423P<table border=1>
<tr><th>ご用件をどうぞ!!</th></tr>
<tr><td>
<input type="radio" checked name='command' value='write'>私書箱に書き込む</td></tr>
<tr><td>
<input type="radio" name='command' value='mypost_regist'>私書箱の新規登録</td></tr>
<tr><td>
<input type="radio" name='command' value='mypost_delete'>私書箱の登録削除
</td></tr>
<tr><td align=center>
<input type="submit" value="送信">
</td></tr>
</table>
</form>
<form method="POST" action="$script_url">
<table width=90%>
<tr><td nowrap>
<input type="text" size=8 name="secret_pass">
<input type="submit" value="管理人専用">
</td>
<td nowrap align=right>
<font size=2><A HREF="http://hp.bird.to/index.html" target="_top">私書箱SP Ver.1.45(C)HPサービス</A></font>
</td>
</tr></table>
</form>
END_OF_TEXT
}
0895nobodyさん
2006/04/26(水) 12:51:13ID:???0896nobodyさん
2006/04/26(水) 12:51:48ID:hyGH423P画面に
「自分の私書箱にアクセス」といったBOXと
その下に「ご用件をどうぞ」のBOXが表示されるんです。
で、僕はこれの上下を入れ替えたいんです。
ただそれだけなんです。
「ご用件をどうぞ」のBOXが上に来て
「自分の私書箱にアクセス」のが下に表示されているといった感じに
したいんです。
でも、単純にプログラム文を上下入れ替えただけでは
駄目みたいで、、、 表示自体は上下変わってくれたんですが
送信押してもうんともすんとも動かず
機能しなくなっているのです。
どういった入れ替え方をすれば
上下変わってくれるんでしょうか?
すみません、ほんと。
0897nobodyさん
2006/04/26(水) 12:52:42ID:???そうですかぁ
print "Content-type: text/html\n";
↑の\n取るとCGIエラー出るのは
何故なんでしょう?
バカな質問ですみません。
0898nobodyさん
2006/04/26(水) 12:54:19ID:???print "Content-type: text/html\n\n";
じゃないの? \n が一個少なくない?
エラーになる理由は
ttp://www.studyinghttp.net/
ここら辺見れば分かるよ
0899nobodyさん
2006/04/26(水) 13:00:40ID:???※ 完全無視を決め込みましょう
※ 構うと相手を喜ばせるだけです
複数スレマルチポスト・コピペ報告スレ35@全板共通
http://qb5.2ch.net/test/read.cgi/sec2chd/1143873802/478-481,484,485,487
0900nobodyさん
2006/04/26(水) 13:05:07ID:???> 全部のページのソース見たら最初に改行入ってるのって
> これのせいですよね?
違う。その二つの改行はHTTPヘッダとその終わりを示すもの。
本来、本文のほうには出てこないよ。もう一個別のところで改行してたりしない?
0901nobodyさん
2006/04/26(水) 13:08:40ID:hyGH423Pあちらで回答してくださった方(>>876さん含め)
ありがとうございました。
>>899 ID:7I8tmvWQ0
死ね
0903nobodyさん
2006/04/26(水) 13:10:28ID:hyGH423Pあれ?
ムカついてる?ww
0906nobodyさん
2006/04/26(水) 13:12:33ID:hyGH423P自分で言ってながら
スルー出来て無いしw
おもったより
頭弱いんだね、あんたw
0909nobodyさん
2006/04/26(水) 13:14:40ID:hyGH423Pじゃあな、
根暗の暇人オヤジw
あ〜、
問題が解決して
こっちはスッキリだわ
0910nobodyさん
2006/04/26(水) 13:14:57ID:???こいつ本気で可哀想になってきた
どんな教育受けたらこんな非常識になれるんだろう
まさに親の顔が見て見たいな
0911nobodyさん
2006/04/26(水) 13:15:20ID:hyGH423P書込むなよw
そんな腹立ったんだ?
ごめんごめんww
0914nobodyさん
2006/04/26(水) 13:16:12ID:hyGH423Pお前の親は不細工だよねー
不細工ふたりが
お前みたいな不細工産んだw
笑えるw
0915nobodyさん
2006/04/26(水) 13:16:49ID:???どこまで幼稚なんだこいつはw
0916nobodyさん
2006/04/26(水) 13:16:54ID:hyGH423P使わないってw
オヤジじゃんww
0917nobodyさん
2006/04/26(水) 13:17:19ID:???そろそろ釣り宣言ですか?w
0918nobodyさん
2006/04/26(水) 13:17:32ID:hyGH423P絶対お前不細工だろ
命賭けれるね、俺w
0919nobodyさん
2006/04/26(水) 13:18:08ID:???学習能力無いな〜wこいつw
0920nobodyさん
2006/04/26(水) 13:18:08ID:???どうもです。
よく読んでみます。
\nはいままでずっと一個で書いてました。
#!/usr/bin/perl
require 'XXXX.cgi';
print "Content-type: text/html\n";
>900
やっぱり出てこないんですね!?
間違えてたのかなー。
0921nobodyさん
2006/04/26(水) 13:18:33ID:hyGH423Pお前の両親の存在が釣りだわw
いつまでも不細工夫婦に迷惑かけんなよ?
早く死ねよ、ひきこもりw
0922nobodyさん
2006/04/26(水) 13:19:15ID:???やっぱこういう奴って親の劣等遺伝子しっかり受け継いでるんだろうなぁ〜
勉強になりました
0923nobodyさん
2006/04/26(水) 13:19:28ID:???ただの罵し合いなら他でやってくれ。
0924nobodyさん
2006/04/26(水) 13:19:48ID:hyGH423Pオツム弱いね、君w
0925nobodyさん
2006/04/26(水) 13:19:56ID:???0926nobodyさん
2006/04/26(水) 13:20:35ID:hyGH423P母のまんこでも舐めてろ
ひきこもりがw
0927nobodyさん
2006/04/26(水) 13:21:13ID:???かわいそう
0928nobodyさん
2006/04/26(水) 13:21:37ID:hyGH423Phttp://qb5.2ch.net/test/read.cgi/sec2chd/1143873802/489n-
0929nobodyさん
2006/04/26(水) 13:21:50ID:???0930nobodyさん
2006/04/26(水) 13:23:01ID:hyGH423P煽られたのお前じゃんw
俺最初からこのノリ。
お前、人格変わってるww
顔真っ赤にして反応すんなやw
0931nobodyさん
2006/04/26(水) 13:23:53ID:hyGH423Pこれ、ミイラ取りがミイラなってない?w
幼稚な奴w
0932nobodyさん
2006/04/26(水) 13:23:57ID:???どこまで哀れなんだ君は
0933nobodyさん
2006/04/26(水) 13:24:38ID:hyGH423Pやっぱり馬鹿だから、これで勝ったとか思ってるんだろうなぁ
どこまで哀れなんだ君は
0934nobodyさん
2006/04/26(水) 13:25:14ID:hyGH423P>>489
ごめんごめん。
ID:xtIDN3z70 見てたら可哀想になってきちゃって。
謝ってるwwっwwっw(ゲラゲラ
0935nobodyさん
2006/04/26(水) 13:25:16ID:???君を煽ってるのは一人だけじゃないよw
そんな事も分からないなんてw
0936nobodyさん
2006/04/26(水) 13:26:00ID:???VIPでやれ
0937nobodyさん
2006/04/26(水) 13:26:17ID:hyGH423Pぎゃはははははははw
0938nobodyさん
2006/04/26(水) 13:26:32ID:???こっちが何か書く度に反応してくれる
マジ面白い
0939nobodyさん
2006/04/26(水) 13:27:40ID:hyGH423P>>478-481,484,485,487
報告してくれるのはありがたいんだが、報告先のスレのテンプレを読めよ…
492 :名無しの報告 :2006/04/26(水) 13:24:34 ID:7I8tmvWQ0
>>489
ごめんごめん。
493 :名無しの報告 :2006/04/26(水) 13:25:47 ID:xtIDN3z70
ID:7I8tmvWQ0
意味無く謝ってるwwww
アホ過ぎるwwww
0940nobodyさん
2006/04/26(水) 13:27:48ID:???最初規制議論に書かれた時すんげーびびって
486みたいな事書いてるのに
何この態度の変わりようはw
0941nobodyさん
2006/04/26(水) 13:28:36ID:???0945nobodyさん
2006/04/26(水) 13:30:16ID:???0946nobodyさん
2006/04/26(水) 13:31:01ID:???もうこんな奴に相手するのやめるよ。
スレ汚してスマソ
0947nobodyさん
2006/04/26(水) 13:31:05ID:hyGH423Pこれ以上は自分まで荒らしになるので書き込むのやめます
ID:xtIDN3z70 さんももう少し頭を働かせた方が良いですよ
ぎゃっはっはっはっはっっはっはっはw
0948nobodyさん
2006/04/26(水) 13:32:13ID:???時間の無駄w
ここまでアホだとは思わんかったw
0949nobodyさん
2006/04/26(水) 13:32:55ID:hyGH423P許してやるよ。
さっさと消えとけ
この能無しw
0950nobodyさん
2006/04/26(水) 13:33:16ID:???0951nobodyさん
2006/04/26(水) 13:33:52ID:???0952nobodyさん
2006/04/26(水) 13:36:10ID:???何この伸びようは、って思ったら変な奴が一匹暴れてただけか…
0953nobodyさん
2006/04/26(水) 13:38:08ID:???ニュー速とかでやったら物凄く晒し上げられてるだろうな
0954nobodyさん
2006/04/26(水) 13:39:19ID:???0955nobodyさん
2006/04/26(水) 13:42:16ID:???0956nobodyさん
2006/04/26(水) 13:47:24ID:???0957nobodyさん
2006/04/26(水) 13:50:49ID:???0958nobodyさん
2006/04/26(水) 13:52:09ID:???0959nobodyさん
2006/04/26(水) 13:55:23ID:???圧倒的に勝った(@w荒
0960nobodyさん
2006/04/26(水) 14:02:20ID:???0962nobodyさん
2006/04/26(水) 14:03:05ID:???http://pc8.2ch.net/test/read.cgi/php/1146027632/
0963nobodyさん
2006/04/26(水) 14:16:22ID:???誰だよ、どっかのスレで答えちゃったやつw
一生ずっと放置しておけばおもしろかったのに
0964nobodyさん
2006/04/26(水) 14:51:05ID:???0966nobodyさん
2006/04/26(水) 15:28:36ID:???0967nobodyさん
2006/04/26(水) 16:29:37ID:xxhiuPmH0968nobodyさん
2006/04/26(水) 16:43:54ID:???0969nobodyさん
2006/04/26(水) 17:01:09ID:???俺は立てれなかった
0970nobodyさん
2006/04/26(水) 18:00:06ID:???0971nobodyさん
2006/04/26(水) 18:10:42ID:???http://pc8.2ch.net/test/read.cgi/php/1146042050/
# 8連投で規制かかるのに、テンプレ9レス必要なのはつらすぎ。
0972nobodyさん
NGNG0973nobodyさん
2006/04/26(水) 19:14:48ID:???0974nobodyさん
2006/04/26(水) 20:02:34ID:???0975920
2006/04/26(水) 21:08:33ID:???どうもサーバーの自動改行らしく
.htaccessいじったら改行消えました。
で、また質問なのですが
IEなんかで他所のホームページ覗くと
半角カナとかソースがばけてるやつありますよね
あれはどうしてあのように見えるのでしょうか?
文字コードとかの関係なのでしょうか?
0976nobodyさん
2006/04/26(水) 21:18:13ID:???メモ帳で表示されるからだろ
おそらくcharsetがEUC-JPかUTF-8
Firefoxとか使えばちゃんと表示されるよ
0978nobodyさん
2006/04/26(水) 22:02:33ID:???0979nobodyさん
2006/04/26(水) 22:04:57ID:???0980nobodyさん
2006/04/26(水) 22:44:15ID:???ありがとうございます なるほど
対応したアプリだと見れるんですね
なにか特殊な処理してるのかなかなぁと勘違いしてました。
んでまた疑問なのですが
requireで呼び出すサブルーチンの最後に 1:と書いてるのを
よく見るのですが これは必ず 1:じゃないといけない決まりなんでしょうか?
試したら 2: とか $適当な変数;とかでもいけたのですが・・・
バカな質問ですみません。
perl付属のドキュメントに書いてあったような。。。
最後に「真」を返さなきゃなのですです♪
0983nobodyさん
2006/04/27(木) 00:11:25ID:???0984nobodyさん
2006/04/27(木) 00:20:35ID:???-1 は「真」です
0985nobodyさん
2006/04/27(木) 00:21:00ID:???0986nobodyさん
2006/04/27(木) 00:31:02ID:???0987nobodyさん
2006/04/27(木) 00:46:00ID:???if (!$res_flag) {
print "<TABLE width=\"500\" border=\"1\" bordercolor=\"#A9A9A9\" bgcolor=\"#FFFFFF\" cellpadding=\"0\" cellspacing=\"0\"><TR><TD>\n";
print "<dl><dt><b>■$kizi_title (No.$no)</b><BR>";
print "<dt>日時:$date<BR>";
print "<dt>名前:$name<BR>";
print "<BR><dd>$message\n";
print "<div align=\"right\">";
print "<form action=\"$script\" method=\"POST\">";
print "<INPUT TYPE=\"hidden\" NAME=\"mode\" value=\"res\">";
print "<input name=\" 返信 \" type=\"submit\" value=\" 返信 \">";
print "</form></div>\n";
}
if ($res_flag) {
print "<hr>\n";
print "<dl><dt><b>■$k_title (No.$no)</b><BR>";
print "<dt>日時:$date<BR>";
print "<dt>名前:$name<BR>";
print "<BR><dd>$message\n";
}
print "</TD></TR></TABLE>\n";
スレッドとレスの区別をつけるのに苦戦しています…
スレッドを立てるときにhiddenでres_flagの値を送信しています(スレッドの時は0、レスは1)
これで実際にやってみるとなぜかレスが上に行ってしまいます
つまり(□=レス ■=スレッド
■
□
みたいになってほしいのですが、実際
□
■
こうなってしまいます
0988nobodyさん
2006/04/27(木) 00:47:18ID:obiLVGb1どうしたら正しくできるでしょう?…
レスとスレッドの区別方法が悪いのかな…
0989nobodyさん
2006/04/27(木) 00:53:40ID:???0990nobodyさん
2006/04/27(木) 01:17:14ID:???0991nobodyさん
2006/04/27(木) 01:31:41ID:???0992nobodyさん
2006/04/27(木) 01:47:32ID:???0993nobodyさん
2006/04/27(木) 02:24:20ID:???その逆でPHPとかASPは見栄えはいい
そんな俺はperl一筋
0994nobodyさん
2006/04/27(木) 03:48:30ID:???0995nobodyさん
2006/04/27(木) 08:22:39ID:???0996nobodyさん
2006/04/27(木) 09:57:02ID:???初心者スレなんだからprintでいいだろ
普通に考えればどこかの順番が間違ってるに違いない
0997nobodyさん
2006/04/27(木) 10:08:50ID:???0998nobodyさん
2006/04/27(木) 10:29:54ID:???パッと見で気付くのは、
<TABLE> は if 節に入ってるのに </TABLE> は if 節の外にあるから、
!$res_flag なときは <TABLE> タグが表示されないよね。
0999nobodyさん
2006/04/27(木) 10:51:00ID:???次スレ http://pc8.2ch.net/test/read.cgi/php/1146042050/
1000nobodyさん
2006/04/27(木) 11:17:38ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。