Perlについての質問箱 28箱目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/10/31(火) 14:52:21"There's more than one way to do it" ということで、Perlの奥深さについて皆で語り合い、追求してまいりましょう。
CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板 http://pc8.2ch.net/php/ )
CGIの質問は答えがPerlと全然関係ない話に帰着する場合が多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。
このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
http://www.perl.org/get.html
● 2006/10/31現在の最新版: 5.8.8
● 2006/10/31現在の開発版: 5.9.3
前スレ
Perlについての質問箱 27箱目
http://pc8.2ch.net/test/read.cgi/tech/1157874614/
リンク集は>>2-3
過去スレは>>4
0951デフォルトの名無しさん
2006/12/20(水) 21:31:31なぜ正規表現。ref 使ってくれ…。
0952デフォルトの名無しさん
2006/12/20(水) 21:53:05Perl には continue なんてありませんが、next なら使えます。
0953デフォルトの名無しさん
2006/12/20(水) 22:17:02待て。ちょっと待て。
0954デフォルトの名無しさん
2006/12/20(水) 22:25:09がんばって生きろ。
0955デフォルトの名無しさん
2006/12/20(水) 22:25:47まずやってみれ。
0956デフォルトの名無しさん
2006/12/20(水) 22:33:36あんまり使わないし見ないので忘れてた(´・ω・)
0957937
2006/12/20(水) 23:41:42ありがとう。じゃああきらめて別の書き方しよう。
0958デフォルトの名無しさん
2006/12/21(木) 00:59:11開いたファイル名を何がしかの形で保存しておくだけで実現すると思うんだけれど。
取り出せないファイル名でファイルを open するというのは、少なくともぼくはやったことがないので。
それでもちゃんと CPAN には、
FileHandle::Deluxe
による文字列化機能があります。
0959937
2006/12/21(木) 01:11:38うわ、ありがとう。
インターフェース的に、ファイルハンドルだけ渡したほうが
すっきりするような状態になってたからすごく助かる。
0960デフォルトの名無しさん
2006/12/21(木) 19:21:23どうすればよいのでしょうか?
0961デフォルトの名無しさん
2006/12/21(木) 19:33:510962960
2006/12/21(木) 19:40:200963デフォルトの名無しさん
2006/12/21(木) 19:41:510964デフォルトの名無しさん
2006/12/21(木) 19:45:26ttp://www.google.com/search?num=50&hl=ja&q=Perl+sort&lr=lang_ja
ちなみに、sortにリストで渡して、結果をリストで受ければ配列要らず。
0965960
2006/12/21(木) 19:47:130966デフォルトの名無しさん
2006/12/21(木) 19:47:380967960
2006/12/21(木) 19:49:040968966
2006/12/21(木) 19:52:05ソートってのは並び替える関数だから覚えると便利だよ
リストと配列の違いも調べるといいよ
sort使わずに、っていう条件なら住人の食いつきもいいかも。
0970デフォルトの名無しさん
2006/12/21(木) 19:57:390971デフォルトの名無しさん
2006/12/21(木) 19:59:540972デフォルトの名無しさん
2006/12/21(木) 20:03:55($x, $y, $z) = sort { $b <=> $a } ($x, $y, $z);
0973デフォルトの名無しさん
2006/12/21(木) 20:12:010974デフォルトの名無しさん
2006/12/21(木) 20:25:37変数3個なら並び方は順列で6通りだから if〜elsif 文でなんとかなるだろ
0975デフォルトの名無しさん
2006/12/21(木) 20:26:12foreach (0 .. $i) {
foreach (0 .. @nums) {
@nums[ $_, $_ + 1 ] = @nums[ $_ + 1, $_ ] if $nums[$_] < $nums[ $_ + 1 ];
}
unshift @sorted, pop @nums;
}
sort() を使わないと、こんな愉快なコードを保守する破目になりますが、かまいませんか?
0976デフォルトの名無しさん
2006/12/21(木) 20:35:39if ($x < $y) { ($x, $y) = ($y, $x) }
if ($y < $z) { ($y, $z) = ($z, $y) }
if ($x < $z) { ($x, $z) = ($z, $x) }
0977デフォルトの名無しさん
2006/12/21(木) 20:39:14if ($x < $y) { ($x, $y) = ($y, $x) }
if ($x < $z) { ($x, $z) = ($z, $x) }
if ($y < $z) { ($y, $z) = ($z, $y) }
0978デフォルトの名無しさん
2006/12/21(木) 20:55:220979デフォルトの名無しさん
2006/12/21(木) 20:57:04スネーク、三大美徳の基本を思い出して!
0980960
2006/12/21(木) 21:05:54if($a<$b){
($a,$b)=($b,$a)
} elsif($a<$c){
($a,$c)=($c,$a)
} elsif($b<$c){
($b,$c)=($c,$b)
}
print $a $b $c
xyzをabcに変えました。
これでできません・・・どうしたらよいのでしょうか?
0981960
2006/12/21(木) 21:27:49別のところで質問することにします。
さようなら
0982960
2006/12/21(木) 21:29:31偽者はやめてください
0983デフォルトの名無しさん
2006/12/21(木) 21:31:29自分で$x,$,$zで質問して、なぜ$a,$b,$cに代えるの?
無知なフリして無駄に時間を使わせないで下さい
しかもつまらないし
皆さんも、親切なだけではなく、ガマン強いですね
もう相手にするのはやめては?
0984デフォルトの名無しさん
2006/12/21(木) 21:36:33上のほうで if (条件) { ブロック } を3つ並べる例を出してもらってるのに
if〜elsif〜elsif〜に動作変えちゃったのはなぜ?
つーか、sort で…というのを踏まえて $a $b を使う方向に変えたのかなあ。
0985960
2006/12/21(木) 21:44:48if ($x < $y) {
($x, $y) = ($y, $x)
} if ($x < $z) {
($x, $z) = ($z, $x)
} if ($y < $z){
($y, $z) = ($z, $y)
}
print "$x,$y,$z";
でやったらできました。
しかしifの中がいまいちわかりません。。
0986デフォルトの名無しさん
2006/12/21(木) 21:59:17そうだ、プログラマは無精であるべきだったな。
対象が増えることを予期するべきだった。私とした事が。
罰として久しぶりに次スレ建ててくる。
0987デフォルトの名無しさん
2006/12/21(木) 21:59:40本当は分かるけど。課題なんだろ。
0988デフォルトの名無しさん
2006/12/21(木) 22:29:510989デフォルトの名無しさん
2006/12/21(木) 22:31:270990988
2006/12/21(木) 22:33:590991デフォルトの名無しさん
2006/12/21(木) 22:38:00Perlについての質問箱 29箱目
http://pc8.2ch.net/test/read.cgi/tech/1166708139/
0992デフォルトの名無しさん
2006/12/21(木) 22:41:520993デフォルトの名無しさん
2006/12/21(木) 22:42:020994デフォルトの名無しさん
2006/12/21(木) 22:42:170995デフォルトの名無しさん
2006/12/21(木) 22:42:540996デフォルトの名無しさん
2006/12/21(木) 22:43:290997デフォルトの名無しさん
2006/12/21(木) 22:43:350998デフォルトの名無しさん
2006/12/21(木) 22:43:37$self->kakikomi(qq{\$s = q{$s};\n$s\n__END__\n埋め});
__END__
埋め
0999デフォルトの名無しさん
2006/12/21(木) 22:43:501000デフォルトの名無しさん
2006/12/21(木) 22:44:1010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。