1 名前:(・∀・)チンポー!! mailto:(・∀・)チンポー!! [04/06/02 11:39] perl書きなんだがさ、こうリクに答えてなんか作りたいんだ。 だからリクエストをくれ。
313 名前:306 [2005/11/26(土) 20:39:48 ] 初心者すぎてイマイチわからない自分がいる… 勉強してからこい っていう話だが
314 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 20:57:29 ] >>313 そりゃスマンカッタ。説明がちゃんと必要だったな… #-------------------------------- sub show_file { my $file = shift; use IO::File; my $fh = new IO::File $file; while (<$fh>) { print $_ } undef $fh; } #-------------------------------- とでもスクリプトのどこかに書いておく。 で、 show_file('ファイル名'); という感じでそのサブルーチンを呼び出せば、そのファイルの中身が表示される。 パッケージが分かれていたりするとこれだけじゃ出来ないがまあその時はその時だ IO::Fileモジュールが使えない環境ならこっち #-------------------------------- sub show_file { my $file = shift; open SHOW_FILE, $file; while (<SHOW_FILE>) { print $_ } close SHOW_FILE; } #--------------------------------
315 名前:306 [2005/11/26(土) 21:28:45 ] なんどもすみません .cgiのなかに HTML表示するところがあるんですけど そこにshow_file('ファイル名');をやっても そのまま表示されてしまうのですが (マジ初心者で迷惑かけすぎですね
316 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 22:00:54 ] 表示をどうやってるのかによる。 単なるprint なのか、ヒアドキュメントなのか。
317 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 22:09:20 ] ${show_file('ファイル名')}
318 名前:306 [2005/11/27(日) 00:26:50 ] printです
319 名前:デフォルトの名無しさん [2005/11/28(月) 15:27:30 ] 誰か心優しい方、これを作ってくださいm(__)m 宿題に手づまりで助けてください!(>人<) SQL.txtを読み込んで、gakusei.csvを読み出し、 そこからName,Addressのみを表示させるプログラムを作ってください! データ↓ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1165.lzh 実行結果↓(予想) Name,Address Junichi,Tsukuba Akinori,Hitachi
320 名前:デフォルトの名無しさん mailto:sage [2005/11/28(月) 19:12:46 ] >>319 中身も見ずに書く。 つ[DBI + DBD::CSV]
321 名前:デフォルトの名無しさん [2005/11/28(月) 19:34:22 ] htmlページでラジオ形式のインプットタイプを作り、 100問の5択形式にします。 そして、「国語」、「数学」、「英語」、「理科」、「歴史」という 5分野にそれら100問の回答の点数の結果を反映させたいのですが、 回答は1つの分野にのみ加点されるのではなく、例えば1問目が 「万有引力を発見したのはニュートンである」という質問だったとき 5択のうち1番目を選んだら「理科」の変数にも3点加点され、なお、 「歴史」の変数にも2点加点されるという形にしたいと思っています。 この場合、1科目の変数のみに影響するのではなく2科目以上になるので、 各質問ごとに設けた配列の点数をそのまま、「理科」だけに加点するということは できなさそうです。 それぞれ1問目の input name を "Q001" 2問目は input name を "Q002"とし、3問目以降も同じような方法で 100問目まで指定していきます。 そして、各問題、 「はい」、「はいに近い」、「どっちでもない」、 「いいえに近い」、「いいえ」という5択にして、 input value を「はい」から、"1","2","3","4","5"としていきます。 なにかいい構成が分かるかたいらっしゃいましたら、サブルーチン教えてください。
322 名前:デフォルトの名無しさん mailto:sage [2005/11/28(月) 19:53:27 ] 俺はこういうのはJavaScriptでやっちゃってる。
323 名前:デフォルトの名無しさん [2005/11/28(月) 20:32:27 ] >>322 sendmailもいれてるからPERLでやってるんだけど、どうだろー
324 名前:デフォルトの名無しさん [2005/11/28(月) 20:34:03 ] もしくは、計算部分だけJAVAで組んでその結果の変数値(スコア)のみを CGIに渡すことって可能?
325 名前:デフォルトの名無しさん mailto:sage [2005/11/28(月) 21:23:59 ] $table[1] = { # Q001 Q => { label => "万有引力を発見したのはニュートンである", option => [split(" ","はい はいに近い どっちでもない いいえに近い いいえ")] }, A => [ { rika => 3, rekisi => 2 }, #選択肢1 ] }; 構成ってこういうこと? 俺もこれをそのままJSONにして、採点までJavaScriptでやった方がいいと思う
326 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 01:16:34 ] 答えてくれて、ありがとう。 演算部分はjavascriptで組んで、 出てきた結果の値(各分野の点数や文字列など)を PERLで組んだCGIにデータを受け渡すことって 可能なのかなー?
327 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 01:34:11 ] >>326 フォーム内のフィールドにセットしてsubmitするとか、 クエリ文字列を生成しページ移動(Location.href)とか、 今流行のXMLHttpRequestとか色々あるんじゃないかな
328 名前:デフォルトの名無しさん [2005/11/29(火) 09:24:09 ] >>327 最初の1ページ目でjavascriptで演算した値を2ページ目のcgiにサブミットして 表示させるってことは可能? 普通、cgiにサブミットするときってフォーム入力で、入力したもの(変数として)がそのまま cgiのほうに渡されるでしょ?これを1ページ目でjavascriptで計算して、その結果の値を そのままcgiに渡すって方法どうすればいいかな? いいサンプルページやサンプルソースあったら教えてください。 もしかしたら、フォーム入力の「生年月日入力」の部分でこういうふうにjavascriptを組み込んで 昭和→西暦変換とかした値をcgiに渡してたりするようなページもあるような気もします
329 名前:デフォルトの名無しさん [2005/11/29(火) 09:47:48 ] proxy.f2.ymdb.yahoofs.jp/users/13a494ce/bc/sample.html?bcDAlAEB6aOdocif このような形で問100まであって、問100までの分の値と名前やメアドの値を formmail.cgiというものに渡すというかんじです。CGI側で質問100個の分の 演算をするのか、もしくは、アップーロードした、この1ページ目でjavascriptを使って 演算し、結果のみの値をcgiに渡して、それらを出力するのがいいのか迷っています。 また、記述の方法などのアドバイスもいただければ幸いです。
330 名前:329 [2005/11/29(火) 10:15:36 ] 何度もすみません。 やはり、javascriptは使わずcgi側で100問の結果判定を演算するサブルーチンを 作りたいのですが、どういう標記にすればいいでしょうか?>>321 にも書きましたが それぞれ1問目の input name を "Q001" 2問目は input name を "Q002"とし、3問目以降も同じような方法で 100問目まで指定していきます。 そして、各問題、 「はい」、「はいに近い」、「どっちでもない」、 「いいえに近い」、「いいえ」という5択にして、 input value を「はい」から、"1","2","3","4","5"としていきます。 というかんじです。>>322 さん、ありがとうございました。 もっと分かりやすい構文を教えていただけないでしょうか? 今考えているのは1ページ目でフォーム入力(ラジオ選択から得た情報)をcgiに submitした後、getformして入力された値を読み込み #質問結果判定 sub hantei { 1問目(1ページ目のQ001)「万有引力を発見したのはニュートンである 」に対し、 5択「はい(VALUE=1)」、「はいに近い(2)」、「どっちでもない(3)」、「いいえに近い(4)」、「いいえ(5)」のうち ・「はい」を選ぶと理科に3点加算(rika +=3)、歴史にも2点加算(rekishi +=2)とし、 ・「はいに近い」を選択したなら(rika +=2)、(rekishi +=1) ・「どっちでもない」を選択したなら(rika +=1)、(rekishi +=0) ・「いいえに近い」を選択したなら(rika +=0)、(rekishi +=0) ・「いいえ」を選択したなら(rika +=0)、(rekishi +=0) ↓ 次の質問(Q002)で同じような形でQ100まで演算していきます
331 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 11:16:32 ] どうでもいいけど、毎問メールアドレスを入力させられんの?
332 名前:デフォルトの名無しさん [2005/11/29(火) 11:37:19 ] 設問ごとの得点表を %SCORE_TABLE = ( Q001 => { 1 => { rika => 2, rekishi => 2 }, 2 => { rika => 2, rekishi => 1 }, .... }, .... } という形で用意する。 cgi入力のうち、QNNNに対応する値を%input = (Q001 => 2, Q002 => 1 ,... ) という形のハッシュにまとめる。 あとは while (my($q, $a) = each %input) { while (my($k, $s) = each %{$SCORE_TABLE{$q}->{$a}}) { $score{$k} += $s; } } とまわせば%scoreにそれっぽい結果が得られるだろう。
333 名前:329 [2005/11/29(火) 11:38:26 ] >>331 ううん、メアドを登録しなかったらしなかったで得点表示のみのページのみ 出力されて、メアド登録したら、直接SENDMAILで詳細結果が メールで届くようにするよ。
334 名前:329 [2005/11/29(火) 13:08:49 ] >>332 非常にありがたいんですが、原始的な組み方で if ($moji{Q001} == 1) { $rika += 2; $rekishi += 1;} elsif ($moji{Q001} == 2) { $rika += 0; $rekishi += 0;} elsif ($moji{Q001} == 3) { $rika += 0; $rekishi += 0;} elsif ($moji{Q001} == 4) { $rika += 0; $rekishi += 0;} elsif ($moji{Q001} == 5) { $rika += 0; $rekishi += 0;}
335 名前:329つづき↑ [2005/11/29(火) 13:09:10 ] にして、最終的にその結果から if ($rika == 1) {$rikaTEXT = 'rika1点かな';} elsif ($rika == 2) {$rikaTEXT = 'rika2点かな';} elsif ($rika == 3) {$rikaTEXT = 'rika3点かな';} elsif ($rika == 4) {$rikaTEXT = 'rika4点かな';} else {$rikaTEXT = 'rika不明かな';} if ($rekishi == 1) {$rekishiTEXT = 'rekishi1点かな';} elsif ($rekishi == 2) {$rekishiTEXT = 'rekishi2点かな';} elsif ($rekishi == 3) {$rekishiTEXT = 'rekishi3点かな';} elsif ($rekishi == 4) {$rekishiTEXT = 'rekishi4点かな';} else {$rekishiTEXT = 'rekishi不明かな';} そしてこのスコアから判断されたメッセージをHTML出力するとき $rikaTEXT<BR> $rekishiTEXT<BR> でいいのかな?このままの構成を残して訂正しなきゃならない部分を教えてください。 これで実行してもrikaのスコアしか表示されなくて、rekishiのスコアは表示されません(T_T)
336 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 19:04:01 ] 鬱陶しいなあ。 まったく理解できないのに偉そうなことばかり。 もうどこかに委託しろよ。
337 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 20:50:31 ] >>336 まあまあ、あまり怒りなさんな。 オレはこの調子で100問分書いたスクリプトというものをぜひ拝見したい。 >>335 最後の部分をこんな風に書いたんじゃないの? --------------------------------- print "$rikaTEXT<BR> $rekishiTEXT<BR> "; --------------------------------- それなら、こうするとうまくいくよ。 print "$rikaTEXT<BR>\n$rekishiTEXT<BR> "; あと、スクリプト完成したらぜひ公開きぼ〜ん。
338 名前:デフォルトの名無しさん [2005/11/29(火) 23:18:59 ] >>337 ありがとう。見せたいとこだけど、 ごめんよー
339 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 23:57:56 ] >>338 そうか。Perlスクリプトを公開すれば解答も公開すること になるから仕方ないかもしれんな。しかし、大体の想像はつく。 >>334 に書いてあるものを100問分作って、 >>335 に書いてあるものを0〜200の範囲で作るんだね。 拝見できないのは残念だが、まあ、がんばってタイプしてくれ。
340 名前:デフォルトの名無しさん [2005/11/30(水) 00:31:36 ] >>339 本当にありがとう。いい人いるんだね。ありがとう。 点数配分を配列ではなく、原始的な構造でチマチマ入力してやっていきます。 3000行以上のCGIになります(笑)
341 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 07:26:07 ] 微笑ましいですね^^
342 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 11:25:43 ] ^^;
343 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 19:04:43 ] 性別 回答者合計者○($SEXSUM)名中 男○($SEXMALE)名 女○($SEXFEMALE)名 というのをHTMLで出力したいんだけど、ディレクトリに SEX.txtというのを置いて そのtxtファイルの中に「 0,0 」 というふうに男女の初期値の人数をいれておいて。 毎回フォームから'GENDER'の値が0(男性).もしくは1(女性)で送ってきた時のみ。 SEX.txtを読み込んで、1足して表示→そして読み込んだSEX.txtの人数の一人プラスという ようなPERLスクリプト分かる人いますか?
344 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 19:11:07 ] pc8.2ch.net/test/read.cgi/tech/1131286411/641 マルチ放置推奨
345 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 13:49:45 ] 西暦の "2005"という部分だけ、取得したいんだけど $TIME= (ここはどうすればいいですか?)
346 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 13:56:41 ] >>345 この辺読んで基礎からじっくり勉強したらいいんじゃない? pc8.2ch.net/test/read.cgi/tech/1131286411/2 www.hyuki.com/writing/techask.html
347 名前:デフォルトの名無しさん [2005/12/01(木) 14:02:29 ] my($sec, $min, $hour, $day, $mon, $TIME, $wday) = localtime(time); # 取得した値を調整(リファレンス参照) $TIME+= 1900;
348 名前:デフォルトの名無しさん [2005/12/01(木) 14:03:51 ] >>347 とんくす
349 名前:デフォルトの名無しさん [2005/12/01(木) 14:27:50 ] $TIME=`perl -MPOSIX=strftime -le 'print strftime("%Y", localtime())'`
350 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 14:29:20 ] >>347 長い $TIME = 1900 + (localtime(time()))[5];
351 名前:デフォルトの名無しさん [2005/12/01(木) 16:01:06 ] >>350 長いというならlocaltimeの引数のtime()も省略可能だよ。
352 名前:デフォルトの名無しさん [2005/12/01(木) 16:11:56 ] >>351 ナイスつっこみ! お前みたいなのを待っていた
353 名前:350 mailto:sage [2005/12/01(木) 16:15:15 ] 知ってるよ どんなunixtimeを渡すのか分からんから一例を書いたまでだ
354 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 16:42:12 ] そういうのを負け惜しみって言うんだぜ
355 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 17:56:57 ] >>345 $TIME = 1900 + (localtime)[5];
356 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 18:00:06 ] 個人的には strftime の方が好みだな。
357 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 18:04:14 ] >>343 Yahooにまで…。 messages.yahoo.co.jp/bbs?.mm=CP&action=m&board=1835099&tid=a1zperla1ya5qa1bca5ka1z&sid=1835099&mid=368 しかも誰か答えちゃってるし。
358 名前:350 mailto:sage [2005/12/01(木) 18:08:14 ] なんで煽られてるのかが分からんのだが・・中学生か?
359 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 18:24:26 ] >>343 の答えは pc8.2ch.net/test/read.cgi/php/1102980903/965-967 でもう出てる
360 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 18:28:38 ] >>358 変な奴はほっとけ
361 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 18:38:49 ] VIPが出来てから馬鹿が流入してきた
362 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 23:36:45 ] 馬鹿というかガキなんだよな。煽り方も知らないような。
363 名前:デフォルトの名無しさん mailto:sage [2005/12/06(火) 21:25:33 ] ネットショップで○○時から○台限定で販売、とかいうのを買おうとすると 真っ先にスクリプターに買い占められちゃうんだけど そういうのに対抗できる自動購入スクリプトってPerlで組めませんか?
364 名前:デフォルトの名無しさん mailto:sage [2005/12/06(火) 23:39:56 ] 組めたとしてもここで公開されれば対策される。 対策されなくても公開されている以上大勢が使う。 意味がない。
365 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 00:01:35 ] >>363 組めます
366 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 04:17:29 ] 。゚(゚∩д∩゚)゚。 確かに仰るとおりですね・・・
367 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 08:47:31 ] 楽天のなら作った事ある
368 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 09:24:49 ] ビックカメラのは組めませんか?
369 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 09:30:28 ] 楽天のは空売りですよ
370 名前:367 mailto:sage [2005/12/07(水) 09:41:05 ] いや、俺は楽天で1円で1GBのmp3プレーヤゲットしたんだがw サンプルページはないのか ビックカメラの 仕様が分からんとどうにもならんだろ
371 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 10:57:09 ] ビックカメラの場合 こういう場合のと www.biccamera.com/bicbic/jsp/w/catalog/detail.jsp?PRODUCT_ID=0010097057 こういう場合のがあるんだけどなんか違うの? www.biccamera.com/bicbic/app/w?ActionType=bw011100_01&PRODUCT_ID=0010007029
372 名前:デフォルトの名無しさん [2005/12/10(土) 15:47:01 ] age保守
373 名前:PAJA [2005/12/10(土) 16:52:51 ] はじめまして、PAJA といいます。 # Vine Linux 3.1 の Perl v5.8.2 です。 ./trial.pl の中で、 `vi ./hoge.txt` と記述したところ、下記のようなメッセージがでてしまいました。 " Vim: 警告: 端末への出力ではありません" やりたいことは、./trial.pl を実行すると "./hoge.txt を vi で開く" ようにすることです。 どうすれば、できるようになるでしょうか。 よろしく、お願いします。
374 名前:デフォルトの名無しさん mailto:sage [2005/12/10(土) 17:23:42 ] system "vi hoge.txt";
375 名前:PAJA [2005/12/10(土) 19:41:10 ] >> 374 ちゃんと開くことが出来るようになりました。 ありがとうございました。
376 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 05:44:49 ] >>373 実行したものからの出力を受け取らないならバッククォートは使わない と覚えておくといいよ。
377 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:28:53 ] すいません。教えてください。 $_ = "AI今日U<KAKIKU>SASISU明日<TATI*TU>NANI"; であるとき $s1が"AI今日U<KAKIKU>SASISU%sNANI"、 $s2が"明日"、 $s3が"明日TU"、 $s4が"TATITU" となるようにするプログラムを教えてください。 どうかよろしくお願いします。
378 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:53:09 ] >>377 $s1 = "AI今日U<KAKIKU>SASISU%sNANI"; $s2 = "明日"; $s3 = "明日TU"; $s4 = "TATITU"; それだけしか条件がないとこれでもいいわけだが(笑) どういう規則でそうなるのか例だけじゃわかんね。
379 名前:377 mailto:sage [2005/12/14(水) 16:18:46 ] >378 すいません。 $_ = "AI今日U<KAKIKU>SASISU明日<TATI*TU>NANI";が条件です。 自分では以下のようにしてやってみていたのですが、うまくいきません。 @list = split (/,/, $_); if ($list[2] =~ /<[A-Z]+\*[A-Z]+>/) { ($s1 = $list[2]) =~ s/[^A-Z][^<]*<[A-Z]+\*[A-Z]+>/%s/g; @s2 = $list[2] =~ /([^A-Z][^<]*)<[A-Z]+\*[A-Z]+>/o; $s2 = $s2[0].$s2[1]; @s3 = $list[2] =~ /([^A-Z][^<]*)<[A-Z]+\*([A-Z]+)>/o; $s3 = $s2[0].$s2[1]; @s3 = $list[2] =~ /<([A-Z]+)\*{1}([A-Z]+)>/g; $s3 = $s3[0].$s3[1]; }
380 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 16:30:10 ] だめだ。問題を説明する能力のない人らしいので エスパーさん出番です。
381 名前:ヽ(´ー`)ノ ◆.ogCuANUcE mailto:sage [2005/12/14(水) 16:48:42 ] こうかな。 $_ = "AI今日U<KAKIKU>SASISU明日<TATI*TU>NANI"; (my $s1 = $_) =~ s/([^A-Z<]+)<([A-Z]+)\*([A-Z>]+)>/\%s/; my $s2 = $1; my $s3 = $1 . $3; my $s4 = $2 . $3; use Data::Dumper; print Data::Dumper->Dump([$s1, $s2, $s3, $s4], [map { 's'.$_ } (1 .. 4)]); >>377 誰にでも理解できるように仕様を説明するように。 具体的に言うと、小学生にも分かるように。
382 名前:377 mailto:sage [2005/12/14(水) 17:07:42 ] というか、解決?かどうかまだ不明ですが一応出来ました。 379は貼り間違いました。↓は解決?したものです。 $_ = "AI今日U<KAKIKU>SASISU明日<TATI*TU>NANI"; ($s1 = $_) =~ s/[^A-Z][^w]{1,3}<[A-Z]+\*[A-Z]+>/%s/g; print "$s1\n"; @s2 = $_ =~ /([^A-Z][^w]{1,3})<[A-Z]+\*{1}[A-Z]+>/o; print "@s2\n"; @s3 = $_ =~ /([^A-Z][^w]{1,3})<[A-Z]+\*{1}([A-Z]+)>/o; print "@s3\n"; @s4 = $_ =~ /<([A-Z]+)\*{1}([A-Z]+)>/g; print "@s4\n"; これで一応目的の動作をするのですが、 2行目が特によくわかりません。 [^A-Z][^w]{1,3}は何でしょうか? [^w]って何?ワード文字?ワード文字は\wですよね? [^w]を普通に読むとwという文字以外すべてだと思うのですが。
383 名前:377 mailto:sage [2005/12/14(水) 17:14:38 ] >381 わかりにくくてすいません。 目的は文字列中の<*を含む英大文字>の部分とその直前の漢字の展開です。
384 名前:デフォルトの名無しさん [2005/12/23(金) 19:01:41 ] メートル単位の長さを与えて、それをヤードに変換して表示するプログラムを教えてください。 1メートルは1.1ヤードとしてください。
385 名前:デフォルトの名無しさん [2005/12/23(金) 19:03:08 ] インボカントって何か教えてください
386 名前:384 [2005/12/23(金) 19:11:02 ] 追記します。 メートル単位の長さをヤードに変換したり、ヤード単位の長さをメートルに変換するプログラムを教えてください。 >>384 でかいたような一方通行のプログラムでしたら分かります。 上のような場合、どうやって分岐(?)させればよいのでしょうか?
387 名前:384 [2005/12/23(金) 19:17:39 ] >>384 について考えたプログラムを載せておきます。 どなたか、>>386 のように改変してください。。。 use strict; my ($meter, $yard); print "長さをメートルで入力してください"; $meter = <STDIN>; chomp ($meter); $yard = $meter * 1.1; print "$meterメートルは$yardです。\n";
388 名前:デフォルトの名無しさん mailto:sage [2005/12/23(金) 20:02:18 ] >>387 入力値がメートルとした場合のヤードの値 入力値がヤードとした場合のメートルの値 を計算して結果を2行書けばいいんじゃね?
389 名前:デフォルトの名無しさん [2005/12/23(金) 22:21:41 ] >>388 なるほど。 入力時の数字が、10だったら 10メートルは***ヤードです。 10ヤードは***メートルです。 とすれば良いのですね。 逆転の発想ですね!ありがとうございます。
390 名前:デフォルトの名無しさん mailto:sage [2005/12/24(土) 00:19:30 ] それなんて宿題
391 名前:デフォルトの名無しさん [2005/12/24(土) 17:51:13 ] age 宿題でもどーんとこいや
392 名前:デフォルトの名無しさん mailto:sage [2005/12/25(日) 18:26:07 ] perl -MO=Xref,-r hoge.pl の結果から以下のような結果を整形してみたいです。出してください。 ■結果 hoge.pl 250<0>main() hoge.pl 160├<1>get_home_directory() hoge.pl 135│└<2>usage() hoge.pl 190├<1>read_configration() hoge.pl 220│└<2>get_string() <<略>>
393 名前:ヽ(´ー`)ノ ◆.ogCuANUcE mailto:sage [2005/12/25(日) 19:31:09 ] >>392 -r 付けなきゃそれっぽくならんかね。
394 名前:デフォルトの名無しさん mailto:sage [2005/12/26(月) 00:01:42 ] あれだと、エディタのタグジャンプ使えないし、みづらいので。 cの関数コールグラフ書くフリーウェアのfunctreeみたいな使い勝手 のものが欲しいです。
395 名前:デフォルトの名無しさん mailto:sage [2005/12/26(月) 11:49:52 ] >>386 引数で数値の後に m が付いていたらメートル、yが付いていたら ヤード、ということにするならこんな感じか。 #!/usr/bin/perl -w use strict; for(@ARGV) { if(/^(\d+(\.\d+)?)(m|y)$/) { if ($3 eq 'm') { print "$1 メートル = " . ($1 * 1.1) . " ヤード\n"; } else { print "$1 ヤード = " . ($1 / 1.1) . " メートル\n"; } } else { print STDERR "$_: 解釈できません。\n"; } }
396 名前:デフォルトの名無しさん [2006/01/13(金) 16:15:09 ] 1 INDATEというファイルの中身を読み込んで処理するものであること。(INDATEも提出すること) 2 少なくとも一個のif文をつかっている。 3 for.while.foreachなどの繰り返しを少なくとも一個は使っている。 4 少なくとも一個の配列を使っている。 5 少なくとも一個の引数を使っている。 6 以下の様に実行することでOUTDATEに結果が出力される。 %KADAI3<INDATE>OUTDATE 注:3は引数である。 という課題です。頼みます。
397 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 16:17:49 ] >>396 教科書に答えが。
398 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 16:18:35 ] >>397 う・・・
399 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 16:40:59 ] なんだその意味不明な課題 俺が馬鹿なだけかもしれんが、何をしたいのか訳わからん
400 名前:デフォルトの名無しさん [2006/01/13(金) 16:44:17 ] >>399 1〜6を満たす自由な機能のプログラムを作るって課題なんですが…
401 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 16:47:08 ] ああそういう意味か %KADAI3<INDATE>OUTDATE まだこれの意味が分からんが
402 名前:デフォルトの名無しさん [2006/01/13(金) 16:56:45 ] >>401 Terminalで入力したらってことだからあまり関係ないです。ごめんなさい。
403 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 17:28:01 ] それDATEじゃなくてDATAだろ
404 名前:デフォルトの名無しさん [2006/01/13(金) 17:37:44 ] >>403 そうです。ほんとごめんなさい。
405 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 21:34:26 ] 結局>>397 でFAだな
406 名前:デフォルトの名無しさん [2006/01/14(土) 07:43:38 ] そんなぁ・・・
407 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 09:42:00 ] #!/usr/bin/perl use LWP::Simple; $url = 'girls.twistys.net/preview/ '; for ($i=1; $i<=500; $i++) { $num = sprintf("%03d", $i); $_ = get($url.$num."/"); s/\w*\d{1,2}\.jpg/push @jpgs, $&/eg; foreach $jpg (@jpgs) { getstore($url.$num."/".$jpg, $num.$jpg); } }
408 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 08:50:23 ] 仲間分けについてのプログラムについて教えてください 1番と3番 1番と5番 1番と7番 2番と6番 2番と8番 3番と5番 3番と11番 が仲間です 配列には上から 1\t3 1\t5 ……のように入っています この時1,3,5,7,11 と 2,6,8 のように仲間に分けるプログラムを作ってください
409 名前:ゆみ [2006/01/16(月) 11:24:17 ] Perl初心者です。教えてください。 日付,メールアドレス 日付,メールアドレス 日付,メールアドレス ・ ・ ・ と数万行も続くデータから、重複メールアドレスが存在したときは その行を取り除くということは出来るのでしょうか。 困っています(;;)教えてください。
410 名前:デフォルトの名無しさん [2006/01/16(月) 11:39:46 ] できるよ
411 名前:ゆみ [2006/01/16(月) 11:44:33 ] どうやればいいのでしょうか? 是非教えてください。。。
412 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 11:44:49 ] >>409 perl -ne "/,(.+)/ && !$dup{$1}++ && print" in.csv > out.csv
413 名前:ゆみ [2006/01/16(月) 11:51:59 ] >>412 ありがとうございます(*^^*) これはコマンドプロンプト(PC)上で行う処理方法でしょうか? サーバー上のCGIファイルの中で処理する場合の書き方はありますか? またin.csvというのが元のデータファイルで、out.csvというのが 出力された新しいファイルですよね?