Perlについての質問箱 32箱目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/08/13(月) 18:01:530951デフォルトの名無しさん
2007/10/12(金) 13:32:18● 2007/10/12現在の最新版: 5.8.8
● 2007/10/12現在の開発版: 5.9.5
止まってるので削除:
日本語ドキュメント検索: http://www.cpan.jp/search.cgi
Perldoc.com: http://www.perldoc.com/
0952デフォルトの名無しさん
2007/10/12(金) 22:59:210953デフォルトの名無しさん
2007/10/13(土) 00:46:33バッチファイルからwperl実行すると
wperl以降のバッチファイルの行が
実行されないのですが
どうすれば回避できるでしょうか
0954デフォルトの名無しさん
2007/10/13(土) 13:49:19start wperl......
0955デフォルトの名無しさん
2007/10/13(土) 13:55:07さてはバッチコマンドに call があるの知らないな?
0956デフォルトの名無しさん
2007/10/13(土) 18:07:13すいません、DOSコマンドは並べ立てる程度しか分からないのでorz
当てずっぽうにcmdとか試してみたのですがうまくいかなくて、
無理やりperl側からcmdプロセスを潰してました・・
これでバッチファイルだけできれいにできそうです。ありがとー
0957デフォルトの名無しさん
2007/10/14(日) 00:00:55すべての要素に初期値として1を入れたいのですが
一番簡単な(できれば早い)コードはどういうのでしょう?
$a[$_] = 1 for (0..99);
↑これだと遅いですよね?
0958デフォルトの名無しさん
2007/10/14(日) 00:08:110959デフォルトの名無しさん
2007/10/14(日) 00:28:350960デフォルトの名無しさん
2007/10/14(日) 00:33:500961デフォルトの名無しさん
2007/10/14(日) 18:59:57$ cat timethese_array.pl
#!/usr/bin/perl
#use strict;
#use warnings;
use Benchmark qw(timethese cmpthese);
timethese(1,{
PatternFor => '$a[$_] = 1 for (0..999999);',
PatternForeach => '$_ = 1 foreach (@b[0..999999]);',
PatternMap => 'map {$_ = 1} @c[0..999999];',
PatternList => '@d = (1) x 1000000;',
});
$ perl timethese_array.pl
Benchmark: timing 1 iterations of PatternFor, PatternForeach, PatternList, PatternMap...
PatternFor: 0 wallclock secs ( 0.41 usr + 0.03 sys = 0.44 CPU) @ 2.28/s (n=1)
(warning: too few iterations for a reliable count)
PatternForeach: 1 wallclock secs ( 0.30 usr + 0.00 sys = 0.30 CPU) @ 3.37/s (n=1)
(warning: too few iterations for a reliable count)
PatternList: 0 wallclock secs ( 0.11 usr + 0.00 sys = 0.11 CPU) @ 9.17/s (n=1)
(warning: too few iterations for a reliable count)
PatternMap: 1 wallclock secs ( 0.55 usr + 0.02 sys = 0.56 CPU) @ 1.78/s (n=1)
(warning: too few iterations for a reliable count)
0962デフォルトの名無しさん
2007/10/14(日) 20:43:38あたまたりてる?
0963デフォルトの名無しさん
2007/10/14(日) 21:02:500964デフォルトの名無しさん
2007/10/14(日) 23:47:40追試。
#!/usr/bin/perl -w
use strict;
use Benchmark qw(timethese);
timethese(-5, {
For1 => sub { my @arr; $arr[$_] = 1 for 0..9999; 1 },
For2 => sub { my @arr; $_ = 1 for @arr[ 0..9999 ]; 1 },
List => sub { my @arr; @arr = (1) x 10000; 1 },
Map1 => sub { my @arr; map $arr[$_] = 1 , 0..9999; 1 },
Map2 => sub { my @arr; map $_ = 1 , @arr[ 0..9999 ]; 1 },
Map3 => sub { my @arr; map { $arr[$_] = 1 } 0..9999; 1 },
Map4 => sub { my @arr; map { $_ = 1 } @arr[ 0..9999 ]; 1 },
});
For1: 5 wallclock secs ( 5.27 usr + 0.00 sys = 5.27 CPU) @ 129.33/s (n=681)
For2: 5 wallclock secs ( 5.27 usr + 0.00 sys = 5.27 CPU) @ 151.32/s (n=798)
List: 5 wallclock secs ( 5.32 usr + 0.00 sys = 5.32 CPU) @ 367.46/s (n=1955)
Map1: 6 wallclock secs ( 5.27 usr + 0.00 sys = 5.27 CPU) @ 117.95/s (n=622)
Map2: 6 wallclock secs ( 5.24 usr + 0.00 sys = 5.24 CPU) @ 152.23/s (n=798)
Map3: 5 wallclock secs ( 5.27 usr + 0.00 sys = 5.27 CPU) @ 112.07/s (n=591)
Map4: 5 wallclock secs ( 5.30 usr + 0.00 sys = 5.30 CPU) @ 71.93/s (n=381)
0965デフォルトの名無しさん
2007/10/15(月) 00:00:530966デフォルトの名無しさん
2007/10/15(月) 00:50:19追試ありがとうございます
Map2とMap4は、自分の環境で試してみると
それでも1.5倍ほどの差がありました
ブロックの有無だけで何故これだけの差がでるのか不思議ですね
0967デフォルトの名無しさん
2007/10/15(月) 13:12:32HTML版みたいなのってありますか?
HTML::Parserを中心にCPANを色々
探したのですが分からず…もしかして
HTMLは厳格な構造ではないので、
そういうのは無理なのでしょうか?
0968デフォルトの名無しさん
2007/10/15(月) 14:23:50ようはデータの構造体に変換したいってことよね?
HTML::TreeBuilderじゃだめ?
0969デフォルトの名無しさん
2007/10/15(月) 14:56:48それのソースを眺めてみるのも手かもしれない
0970デフォルトの名無しさん
2007/10/15(月) 15:13:05ありがとうございます。HTML::TreeBuilderを見て、
HTML::Elementの関数を調べてみたのですが
XMLinみたいに綺麗なリファレンスを返してくれる
関数は自分では見つけられませんでした(英語も読めません)
お手数をお掛けしますが関数名等を教えて頂けると助かります。
>>969
ちょっとこの量のソースを読むには
気が滅入ります…すみません
0971デフォルトの名無しさん
2007/10/15(月) 15:38:54もうちょい頑張れよwww
0972デフォルトの名無しさん
2007/10/15(月) 15:57:080973デフォルトの名無しさん
2007/10/15(月) 17:01:58$k = 0; ← こっちが前?
for ($i = 0; $i < 10; $i++) {
$k += $i;
}
print "こたえ=", $k, "\n"; ← こっちが前?
0974デフォルトの名無しさん
2007/10/15(月) 17:06:39↑ 後方 backward
$k = 0;
for ($i = 0; $i < 10; $i++) {
$k += $i;
}
print "こたえ=", $k, "\n";
↓ 前方 forward
0975デフォルトの名無しさん
2007/10/15(月) 17:10:52とか言ってみるテスト
0976デフォルトの名無しさん
2007/10/15(月) 17:51:340977デフォルトの名無しさん
2007/10/15(月) 19:11:54> プログラムの「前」ってどっちですか?
↑
前
後
↓
0978デフォルトの名無しさん
2007/10/15(月) 19:35:050979デフォルトの名無しさん
2007/10/15(月) 19:43:55前方参照ってどっち?
後方参照ってどっち?
0980デフォルトの名無しさん
2007/10/15(月) 20:02:21まだなんかあるだろ? それデータかなんか絡んでねーか?
0981デフォルトの名無しさん
2007/10/15(月) 20:15:29で、「前ってどっち?」と聞き返したら、
「そんな事も分からないのか?前は前だろが。分からなかったら小学校からやりなおしてこい」
・・・と怒られちゃいました。もう涙目デスorz
でもほんとうに分からないんです。前ってどっちなのか。
人間の「前」ならわかります。顔があるほうですよね?
Q「人間の「前」ってどっちですか?」 A「小出しにせずに全部書いてくれ!」
フツー、そんな会話は無いですよね。前は前だから。決まってるもん。
プログラムの「前」は決まっていないんですか?
0982デフォルトの名無しさん
2007/10/15(月) 20:21:250983デフォルトの名無しさん
2007/10/15(月) 20:24:30コンパイラは上から下へ読み勧めるから、
前方参照の前方はソースコードの下方向。
0984デフォルトの名無しさん
2007/10/15(月) 20:26:130985デフォルトの名無しさん
2007/10/15(月) 20:28:57うんこが出る穴のほうが後
0986デフォルトの名無しさん
2007/10/15(月) 20:30:27まえとあと 時間経過なので進行方向の逆がまえ
ソースの前を見ろとか言う場合は時間経過のほうだね普通
まだ通過してない部分が時間をさかのぼって手前に影響することはありえない
ていうかおれ釣られた?w
0987デフォルトの名無しさん
2007/10/15(月) 20:36:250988デフォルトの名無しさん
2007/10/15(月) 20:40:38気にせずソース全部見れば?
つーか「前は前だろうが」なんて答える上司もバカだな
普通に教えれりゃいいのに
0989デフォルトの名無しさん
2007/10/15(月) 20:42:54そんな事も分からないのか?前は前だろが。
0990デフォルトの名無しさん
2007/10/15(月) 20:45:120991デフォルトの名無しさん
2007/10/15(月) 21:10:000992デフォルトの名無しさん
2007/10/15(月) 21:13:120993デフォルトの名無しさん
2007/10/15(月) 21:14:36「あたま-しっぽ」「上-下」と呼称したりする。
0994デフォルトの名無しさん
2007/10/15(月) 21:14:39横書きの本をオマエは後ろ (下) から読むのか?
おまえ小学生からやり直せって
0995デフォルトの名無しさん
2007/10/15(月) 21:17:020996デフォルトの名無しさん
2007/10/15(月) 21:22:19モジュール
だよな
0997デフォルトの名無しさん
2007/10/15(月) 21:43:460998デフォルトの名無しさん
2007/10/15(月) 22:02:180999デフォルトの名無しさん
2007/10/15(月) 22:19:321000デフォルトの名無しさん
2007/10/15(月) 22:37:2910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。