Perl コーディング初心者質問コーナー Part26
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/07/24 19:48ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
関連スレ
【Perl上級者コーナーPart01】
http://pc2.2ch.net/test/read.cgi/php/1024741312/
CGI: Common Gateway Interface part 11
http://pc2.2ch.net/test/read.cgi/php/1055597189/
【Perl,CGI】参考書籍 第三版
http://pc2.2ch.net/test/read.cgi/php/1030209573/
【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/
過去ログやお勧めサイトは >>2-10
0352あぼーん
NGNG0353あぼーん
NGNG0354nobodyさん
03/07/31 22:47ID:???いやなら無視すりゃいいのに。
0355nobodyさん
03/07/31 22:57ID:???0356nobodyさん
03/07/31 23:20ID:???0357nobodyさん
03/07/31 23:26ID:???0361nobodyさん
03/08/01 04:05ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
0362nobodyさん
03/08/01 04:09ID:???0363nobodyさん
03/08/01 04:55ID:???0364nobodyさん
03/08/01 05:59ID:???たいていのことを自分で解決できるようになれば、まずは初心者脱出ってこと。
0365nobodyさん
03/08/01 08:23ID:???自分で調べる前に聞いているうちは一生初心者にすらなれない。
0366nobodyさん
03/08/01 10:15ID:???安めの本を買って、足りない部分は周りを利用する
どっちが初心者だろうね
0367nobodyさん
03/08/01 10:24ID:???0368nobodyさん
03/08/01 11:27ID:???0369nobodyさん
03/08/01 12:33ID:???0370nobodyさん
03/08/01 14:09ID:???「周り」が正規のマニュアルを指しているなら賛成だけど、
そうじゃないなら、たとえ馬鹿高くてもちゃんとした本を買うべきだと思う。
0372nobodyさん
03/08/01 14:36ID:???0373nobodyさん
03/08/01 16:33ID:???0374nobodyさん
03/08/01 16:47ID:???0376nobodyさん
03/08/01 17:30ID:???ヒントを乞う位なら構わんけどさ、自助努力の前にしつこく説明してクレクレ言う椰子は嫌だな。
一々誰かの時間を奪ってまで問答を求めるのは「上手な利用」とは言わない。
先人の知識ってのは先に書籍とかを当たった方がはやい。
それでも詰まったときに質問するのはアリ。
試行錯誤をめんどくさがり過ぎてるのがミエミエな奴はムカツク。
0378nobodyさん
03/08/01 18:06ID:???0379nobodyさん
03/08/01 18:46ID:???0380nobodyさん
03/08/01 19:50ID:???>>1 に書いてあるじゃん
【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
これに反するような質問が悪い例
0381nobodyさん
03/08/01 20:31ID:???0384nobodyさん
03/08/01 21:44ID:???質問を乞うぐらいにならんと上達せんよ。
まあ、中途半端な奴に言ってもわからかな。はは。
0385nobodyさん
03/08/01 21:47ID:???常識や礼儀を覚えてない奴は勘弁してくれ。
0386nobodyさん
03/08/01 22:18ID:???0387nobodyさん
03/08/01 22:21ID:???マトモな質問者なら大歓迎なのれす。
0388nobodyさん
03/08/01 22:50ID:???0389nobodyさん
03/08/01 22:58ID:???0390nobodyさん
03/08/01 22:58ID:???普通に質問しても「氏ね」とか言われたもんだ。
ここまで丸くなった2ちゃんでまだ叩かれてるような奴って……
0392nobodyさん
03/08/01 23:17ID:???0393nobodyさん
03/08/01 23:28ID:???これが見事に実践されてるわけだな。
アフォな質問にはアフォな回答が。
0394nobodyさん
03/08/01 23:48ID:???質問するときは内容をよく吟味してから投稿してください。
0396nobodyさん
03/08/02 01:55ID:O5cg5dSHsrand(time|$$);
を付けないと、rand が時間で決まってしまいます。
そんなもんなんですか?
0397山崎 渉
03/08/02 02:20ID:???( ^^ )< ぬるぽ(^^)
0400ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:48ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0401398
03/08/02 04:51ID:???0402nobodyさん
03/08/02 08:53ID:???0404nobodyさん
03/08/02 10:25ID:???0405nobodyさん
03/08/02 11:24ID:???while(time%60){
# wait..
}
print rand(), "\n";
をf複数のプロセスで動かしてみたけど、全部違う値になったよ。
WindowsXpHome ActivePerl 5.6.1/FreeBSD Perl 5.8.0/Linux Perl 5.6.1
実行環境と同じ値になる根拠をしめしてください。
0407nobodyさん
03/08/02 14:08ID:???@dat = split(/<>/, chomp $tmp);
$log[$i] の改行コードを省いたものをカットして @dat に格納して処理したいんですが、
$log[$i] そのものの改行コードは残しておきたく、$tmp を使っています。
これを一発で表現する方法を教えてもらえませんか?
0408nobodyさん
03/08/02 14:26ID:???@dat = split(/<>/, $log[$i]);
chomp $dat[-1];
0410nobodyさん
03/08/02 20:02ID:???*** Hello! Welcome to the 2ch World! ***
**************************************************
と表示しようとして、
#!/usr/bin/perl
print "content-type: text/html\n\n";
print "**************************************************\n";
print "*** Hello! Welcome to the 2ch World! ***\n";
print "**************************************************\n";
とメモ帳に入力してmona.cgiという名前で保存し、tok2.comにffftpを使ってうpしたのですが、
いざ結果を見てみると、
************************************************* *** Hello! Welcome to the 2ch World! ***
*************************************************
と言う風に表示されてしまいます。
どうしたら一番上のような結果にすることができるのでしょうか?
OSはWindowsです。どうかよろしくお願いします<(_ _)>
0412410
03/08/02 20:53ID:lcThEZovレスありがとうございます。
早速、 print "content-type: text/html\n\n";を print "content-type: text/plain\n\n";
に直して再度うpしてみたのですが、結果は同じでした(´・ω・`)ショボーン
誠にあつかましいのですが、他に良い方法は無いでしょうか?
どうかよろしくお願いします。
0413nobodyさん
03/08/02 20:55ID:???0415nobodyさん
03/08/02 21:04ID:84QkeiYeを、
2ちゃんねる(巨大掲示板)の詩・ポエム板
としたい(ようは、リンクを取り除きたい)のですが、
どうすればいいのでしょうか・・・?
わからないながらに、やってみましたが、
$HTMLContents =~ s/<a href="http:\/\/(.*)">(.*)<\/a>/$2/g;
とすると、「詩・ポエム板」しか$2に入りません。。。
0416nobodyさん
03/08/02 21:06ID:???最小マッチングでぐぐれ。
0417415
03/08/02 21:21ID:84QkeiYeさんくすです。
ぐぐりました。
$HTMLContents =~ s/<a href="http:\/\/(.*?)">(.*?)<\/a>/$2/g;
で解決しますた。
0418nobodyさん
03/08/02 21:40ID:lx3eHYOp@INCをコマンドラインで指定して実行する方法ってありましたっけ?
0419nobodyさん
03/08/02 21:42ID:???-Iオプションですね。。。
0420nobodyさん
03/08/02 21:43ID:???何故ヘルプを見ない?
-Idirectory specify @INC/#include directory (several -I's allowed)
0423nobodyさん
03/08/02 23:01ID:???print "**************************************************<BR>\n";
print "*** Hello! Welcome to the 2ch World! ***<BR>\n";
print "**************************************************<BR>\n";
0424nobodyさん
03/08/03 01:14ID:???htmlの場合はソース内の改行
当然見た目を改行させるには<br>がいる
0425412
03/08/03 09:51ID:???>>413
>>414
>>423
>>424
できました! こんなくだらない質問に答えてくれて皆さんどうもありがとう
ございました<(_ _)>
0426nobodyさん
03/08/03 12:05ID:???くだらないつーか。text/plainを勝手にtext/htmlと解釈することがあるという
IEの仕様にからむ、とても難儀な問題なのだよ。
0427nobodyさん
03/08/03 12:21ID:???0428nobodyさん
03/08/03 13:14ID:???内容を走査して、勝手に振る舞ってるってことかな
0429nobodyさん
03/08/03 13:26ID:???そういう糞ブラウザは、image/png でハードディスクの内容を消去するバイナリが埋め込まれていると、
実行しちゃうんだろうなぁ。。。
0430nobodyさん
03/08/03 15:35ID:???&foo( %ENV, "sample", 123456 );
sub foo
{
my (%a, $b, $c ) = @_;
}
こうやっても、%a $b $c に何も入ってこないよ〜
解らないよ〜ヽ(´Д`;)ノ
0431nobodyさん
03/08/03 15:49ID:???0432nobodyさん
03/08/03 15:59ID:???0433nobodyさん
03/08/03 17:33ID:???&foo( \%ENV, "sample", 123456 );
sub foo
{
my ($a, $b, $c ) = @_;
my %a = %$a;
}
リファレンスについては http://www.kt.rim.or.jp/~kbk/perl5.005/perlref.html
0434nobodyさん
03/08/03 17:42ID:???先越された(´・ω・`)
んじゃ一応補足……$a->{HOGE} とやればハッシュをコピーしなくてもそのまま参照可能。
配列の場合も同じように。
0435nobodyさん
03/08/03 17:47ID:???ハッシュは(key1,value1,key2,value2・・・)となってるただの配列。
で、配列は展開されちゃうから、
my %hoge = (1=>'a', 2=>'b');
&foo(%hoge, "sample", 123456);
sub foo {
my (%a, $b, $c ) = @_;
}
と書くと、%aには(1,'a',2,'b',"sample",123456)が入り、$b,$cはからになる。
ちなみにリファレンスを使うのが普通だが、使わないでやりたいなら
my %hoge = (1=>'a', 2=>'b');
&foo("sample", 123456, %hoge);
sub foo {
my ($b, $c,%a) = @_;
}
とすることもできる。
0436nobodyさん
03/08/03 17:50ID:???$a->{HOGE}とやると参照渡しになるので、その中身を変更しようとすると実引数の中身も書き変わる。
$ENV{HOGE} = 'hage';
&foo( \%ENV, "sample", 123456 );
print $ENV{HOGE}; # higeが表示される
sub foo
{
my ($a, $b, $c ) = @_;
$a->{HOGE} = 'hige'
}
0437nobodyさん
03/08/03 18:23ID:???値を@_へコピーするのに時間がかかる(メモリも喰う)から、
なるべくリファレンスを使うのをお勧めします。
0438nobodyさん
03/08/03 18:27ID:???> ハッシュは(key1,value1,key2,value2・・・)となってるただの配列
ソースキボンヌ
つーか、ただの配列だったらでかいハッシュに対して$foo{bar}なんてことは気軽に出来ないから、間違いじゃねーの。
0439nobodyさん
03/08/03 19:13ID:???0440430
03/08/03 19:27ID:???Cで言うと、アドレス(orポインター)渡しみたいなもんですか?
なんか、少し混乱気味ヽ(´Д`;)ノ
>>433-435 さんのレスを参考にコーディングしてみます。
0442nobodyさん
03/08/03 19:45ID:???0443nobodyさん
03/08/03 20:01ID:???ハァ?
>ただの配列だったらでかいハッシュに対して$foo{bar}なんてことは気軽に出来ないから
何をおっしゃってますか?
内部でハッシュ関数を呼び出して、得られた値をインデックスとして使っているのですよ。
配列はランダムアクセスできるからO(1)じゃん。
0447nobodyさん
03/08/03 21:55ID:HoJp4WnKContent-typeの表示が問題と思い、
なんとかEncoding:gzipかなんか書いたんですがだめでした。
何が問題と考えられるでしょう。
0448nobodyさん
03/08/03 22:08ID:???0449nobodyさん
03/08/03 22:10ID:???>>1を読まないのが問題。
2度と来るなとは言わんが、>>1を1日10回読んで1週間後にまた質問しに来い。
今日はもう書き込むな。
■ このスレッドは過去ログ倉庫に格納されています