[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/09 21:18 / Filesize : 139 KB / Number-of Response : 547
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Perlについての質問箱 35箱目



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";'

また、次の問題を出されるだろうから、がんばって。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<139KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef