- 1 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:01:21 BE:176880454-DIA(100004)]
-
"The duct tape of the Internet" こと、Perlについての質問箱です。 "There's more than one way to do it" ということで、 Perlの奥深さについて皆で語り合い、追求してまいりましょう。 CGIについての質問は板違いです。WEBプログラミング板でどうぞ。 CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。 ( WEBプログラミング板 pc11.2ch.net/php/ ) CGIの質問は答えが Perlと全然関係ない話に帰着する場合が 多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。 このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。 スレ違いの質問にはスルーか、速やかな誘導をお願いします。 www.perl.org/get.html ● 2008/04/20 現在の最新版: 5.10.0 ● 2008/04/20 現在の開発版: 5.9.5 ▼ 前スレ Perlについての質問箱 34箱目 pc11.2ch.net/test/read.cgi/tech/1199977642/
- 511 名前:デフォルトの名無しさん [2008/06/16(月) 08:14:00 ]
- Perlでファイルの中の指定した文字列(正規表現".*hoge$"等)にマッチする行を
削除したいのですが、どうすれば良いでしょうか?
- 512 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:38:40 ]
- >>511
perldoc.jp/docs/perl/5.10.0/perlfaq5.pod を、「ファイルのある行を削除する」で検索。
- 513 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:39:22 ]
- >>511
#!C:/perl/bin/perl open(IN,"example.log"); while(<IN>){ if($_ =~ /hoge/){ $line .= "\n"; } else{ $line .= "$_\n"; } } close(IN); open(OUT,">exmple.cgi"); print OUT $line; close(OUT); print"Content-type:text/html\n\n"; print "消去完了"; みたいな感じですか? Perlコーディング初心者質問スレ Part 57 pc11.2ch.net/test/read.cgi/php/1203935151/l50
- 514 名前:デフォルトの名無しさん [2008/06/16(月) 10:18:02 ]
- 111
222 333 444 555 666 というようなファイルがあったとして(数字は仮定です)3行目の行の 先頭にtabを2つ入れたい場合、どのようにすればいいのでしょうか。
- 515 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:24:45 ]
- くだすれ池
- 516 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:28:50 ]
- >>514
…… 行数を数えながら一行ずつ読み込むループにして if 3行目 then 先頭にtabを2つ入れる 読み込んだ行を出力する という中身を回せばいいよ。
- 517 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:33:18 ]
- >>514
質問先は「くだすれPerl(超初心者用)2」 pc11.2ch.net/test/read.cgi/php/1204488452/l50 が良いらしいです。
- 518 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:50:21 ]
- >>511
>>513 すいません、間違ってました。 pc11.2ch.net/test/read.cgi/tech/1208674881/511
- 519 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:50:09 ]
- 変数の中の文字列の頭のスペースを取り除きたいのですが、
どのようなほうほうがありますか?
- 520 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:55:16 ]
- >519
正規表現使う典型ケースです
- 521 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 16:00:36 ]
- >>519
perldoc.jp/docs/perl/5.10.0/perlfaq4.pod を、「文字列の先頭や末尾にある空白を剥ぎ取るには?」で検索。
- 522 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 16:01:41 ]
- >>519
pc11.2ch.net/test/read.cgi/php/1204488452/292
- 523 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 16:08:16 ]
- >>519
>>522 連投すいません。修正です。 pc11.2ch.net/test/read.cgi/php/1204488452/293 初歩質問はこちらが良いらしいです。 pc11.2ch.net/test/read.cgi/php/1204488452/l50
- 524 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:11:06 ]
- 質問です。
HTML数値エンティティを文字に変換する際にはどうすればよいでしょうか。 下記の通りに実行したのですがうまくいきません (-ÿしか対応していない?) #!/usr/bin/perl use HTML::Entities::Numbered; $str='あいうえお'; print hex2name($str); #「あいうえお」を期待するが変換前と同じ$strが出力される
- 525 名前:524 mailto:sage [2008/06/18(水) 01:12:01 ]
- $str='&#x3042;&#x3044;&#x3046;&#x3048;&#x304A;';
ですorz
- 526 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 04:57:49 ]
- >>524
> print hex2name($str); #「あいうえお」を期待するが変換前と同じ$strが出力される いや、期待するなよ。
- 527 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:29:13 ]
- そのあたりに踏み入ったことはないのだが、マニュアルを見る限り
HTML::Entities::decode を使うのではないか?
- 528 名前:デフォルトの名無しさん [2008/06/18(水) 12:04:39 ]
- すんごい初歩的な質問で申し訳ないのですが、
Perlやってる友達がお前こんなのもできないだろと自慢してくるので、明日までにこれをやらないとまたバカにされるのですが、 プログラム自体やったことがなく意味不明すぎてよくわかりません。。誰かもしよかったら教えてください。 キーボードから整数値$aの値を入力してEnterを押し、 続けて$bの値を入力してEnterを押すと、 $aを 3 倍した値と、$bを 8 倍した値の和 を計算して$cに代入し, $cの値を画面に出力するプログラム 結果は print "$cn"; の形で出力する この結果の出力以外の画面出力はしないこと.
- 529 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:10:09 ]
- >>528
その友達に教えてもらいなさい
- 530 名前:デフォルトの名無しさん [2008/06/18(水) 12:14:12 ]
- >529
というか、その友達から出された問題なんです。
- 531 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:23:42 ]
- 宿題だろ・・・
- 532 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:37:23 ]
- それが出来たところで他の事聞かれてあぼんだな
- 533 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:40:17 ]
- 「1/10の確率」
を表現するのに、これ↓はありなのか? return 0 if rand(1000) > 100;
- 534 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:51:55 ]
- あり得ないという根拠は?
- 535 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:52:56 ]
- >>533
randが正規乱数だと仮定するならありだろ。
- 536 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:05:29 ]
- 正規乱数だと仮定するならなしだろ
randが一様乱数を吐くのならありかもしれんが
- 537 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:50:36 ]
- >>528
お前こんなのもできないのか
- 538 名前:デフォルトの名無しさん [2008/06/18(水) 14:25:04 ]
- 綺麗な記述を勉強したいです。
どっかで配布されてる非常に綺麗で整理された記述を教えてください。 あまりにいっぱい配布されすぎててチェックできません。
- 539 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:39:00 ]
- >>538
man perlstyle つーか、好きにしろ
- 540 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:10:12 ]
- >>538
perl medicとかは偏ってはいるけど ポリシーとしてはまあ参考になるかもしれん 買うまでの事は無い本なので図書館で探せ
- 541 名前:524 mailto:sage [2008/06/18(水) 21:54:54 ]
- >>527
HTML::Entities::decode で無事に出来ました 今後はマニュアルをしっかり読みますm(_ _)m ありがとうございました
- 542 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:32:54 ]
- >>538
ここはPerlのスレですよ?
- 543 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:37:24 ]
- >538
Plagger読んどけ
- 544 名前:デフォルトの名無しさん [2008/06/18(水) 23:17:04 ]
- こっそり書いてみる。意味は教えないよ
perl -e 'print <STDIN>*3+<STDIN>*8,"\n"'
- 545 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:37:40 ]
- $cに代入してないじゃん
- 546 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:54:10 ]
- >>528
544とは別人だけど。 perl -e '$c=<>*8+<>*3;print"$c\n";' また、次の問題を出されるだろうから、がんばって。
|

|