- 1 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 03:29:47 ]
- "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 ● 2006/12/21現在の最新版: 5.8.8 ● 2006/12/21現在の開発版: 5.9.3 前スレ Perlについての質問箱 30箱目 pc11.2ch.net/test/read.cgi/tech/1173880452/ リンク集は>>2-3 過去スレは>>4
- 55 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 20:29:38 ]
- Win32::API
- 56 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 01:56:41 ]
- さきほどactiveperlのver5.88をインストールしました。
今、モジュールを使おうとしてエラーが出て苦戦しています。 CPANのモジュールを利用使用と思い perl -MCPAN -e shellとコマンドプロンプトで打ち込んだのですが、 PerlCRT.dllが見つからないというエラーが出て、 仕方ないのでactiveperlをアンインストール→インストール→試す→失敗→またアンインストール→( ´_ゝ`) の繰り返しです。 PPM install ほにゃらら でもDBIのコネクトが失敗と出ます。 コレは一体どういうことなのでしょうか? 分かる人いたら教えて下さい!こんな初歩の質問でごめんなさい(>w<) OSはXPです。
- 57 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 03:38:01 ]
- Perlの前に InstMsi.exe を入れるといいかもしれん
- 58 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 10:51:03 ]
- この問題がわからないのでおしえてください。
標準入力(STDIN)から取り込んだテキストファイルの文中に出現する「単語」の出現頻度を調べあげ、出現頻度の多い順に並び替えたあと、標準出力に 単語 頻度数 の順で一行ずつ表示する。英単語の大文字/小文字の区別はしない。表示時にはすべて小文字で表示する。
- 59 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 12:39:00 ]
- 宿題開き直りワロスw
- 60 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 12:39:04 ]
- >57
返信ありがとうございます。 どうやらPATHの設定等で問題があったようです。 PATHを設定して順調に行くかと思いきや今度は、MSPDB80.dllが見つからないと言われました。 原因は分からないですが、また調べてみます。 PPMでもモジュールをインストールしよう頑張っているのですが ppm gui failed:DBI connect failed:unable to open database faile(1)と 出ます。 activeperlの場合、特に何も設定せずにppmは使えるのでは・・・と思ったのですが。
- 61 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 12:52:53 ]
- >>58
perlじゃ無理 Javaならできるw
- 62 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 12:57:56 ]
- >>61
Javaじゃ無理 PHPならできるw
- 63 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 13:04:04 ]
- > 標準入力(STDIN)から取り込んだテキストファイルの文中に出現する「単語」の出現頻度を調べあげ、出現頻度の多い順に並び替えたあと、標準出力に 単語 頻度数 の順で一行ずつ表示する。英単語の大文字/小文字の区別はしない。表示時にはすべて小文字で表示する。
my $unko; while (<STDIN>) { map { $unko->{$_}++; } split(/\s+/, uc($_)); } for ( sort { $_->{$b} <=> $_->{$a} } @$unko ) { print $unko->{$_} . " " . $_ . "\n"; }
- 64 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 13:06:34 ]
- うそかいてた。
my $unko; while (<STDIN>) { map { $unko->{$_}++; } split(/\s+/, uc($_)); } for ( sort { $unko->{$b} <=> $unko->{$a} } keys %$unko ) { print $unko->{$_} . " " . $_ . "\n"; }
- 65 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 13:07:35 ]
- 宿題丸投げに答えるのはどうかと思うが
- 66 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 13:12:39 ]
- こっちのほうがかっこいいお。
use strict; use Template; my $unko; while (<STDIN>) { map { $unko->{$_}++; } split(/\s+/, lc($_)); } my $rel; for ( sort { $unko->{$b} <=> $unko->{$a} } keys %$unko ) { push(@$rel, { count => $unko->{$_}, name => $_ }); } Template->new->process(\<<'EOF', { rel => $rel }); [% FOR x IN rel -%] [% x.name %] [% x.count %] [% END -%] EOF
- 67 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 13:19:46 ]
- こんな糞宿題に TT ってあほだろおまえw
- 68 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 14:11:47 ]
- もっとCPANバリバリで
- 69 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 14:14:35 ]
- DBIx::Class で SQLite 使う感じで。
- 70 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 15:12:01 ]
- ホントにperlのためにつくられた問題というか宿題という感じがするね
- 71 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 15:14:04 ]
- perl 脳。
- 72 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 15:49:56 ]
- しかし perl のソースは汚いな
- 73 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 16:40:45 ]
-
毎回Perlは汚いと煽ってる馬鹿に言いたいんだが… 言語仕様によって汚くなるというのは無いんだよ、これは。 それを言う偉い先生方の見解によれば、要は書き手によって変わると。 Perlは柔軟性が高い余り、完全に理解出来てない所謂無知が多い。 そしてそういう奴等が世の中に糞コードを放つから、総合的に汚く見えると。 つまり、君は騙されているんだよ。
- 74 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 17:14:35 ]
- そんな汚いかな?
$unkoは汚いけど
- 75 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 17:39:32 ]
- $anal
- 76 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 17:53:29 ]
- >>58 がCPANにこのモジュールを公開すれば、
ソースは use、new、print の3行だけの美しいコードになるべ。そして3行を提出。
- 77 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 18:16:02 ]
- それはまるで、C か何かで書けと言われた課題に対し、use POSIX; とかして提出したひとみたいですね。
- 78 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 18:45:22 ]
- >>72
俺のコードはきれいだぞ
- 79 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 18:49:37 ]
- 俺のケツも綺麗だよ
- 80 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 21:05:43 ]
- 僕の肛門もリファクタリングされそうです><
- 81 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 21:13:57 ]
- 俺にきれいなコードを書くのは無理とわかった。
#!/usr/bin/perl use strict; BEGIN { require warnings && import warnings } local $/ or grep ++$un'ko{$_},map m/\b\w+\b/g,uc<STDIN>; print lc and printf join $un'ko{$_},unpack 'a'x2," \n" for reverse sort { $un'ko{$a} <=> $un'ko{$b} } keys %un'ko; __END__
- 82 名前:デフォルトの名無しさん [2007/06/17(日) 23:31:49 ]
- こうしてPerlを知らない優秀なPerlプログラマがまたひとり巣立って行く
- 83 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 23:44:17 ]
- >>81
わざと汚く書いてるよねw
- 84 名前:54 mailto:sage [2007/06/18(月) 01:41:29 ]
- Perlでは難しいんでしょうか
- 85 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 02:14:06 ]
- >>55
- 86 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 12:21:14 ]
- もうちょっとシンプルにならんかなぁ
#!/usr/bin/perl use strict;use warnings; my(%chinko,%manko);$/=undef; print "$_:$chinko{$_}\n" for sort {$chinko{$b}<=>$chinko{$a} || $a cmp $b} grep !$manko{$_}++ , map {$chinko{$_}++;$_} split /\s+/,lc <STDIN>;
- 87 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 13:32:46 ]
- そういう変なのをもっともらしく貼り付けるから perl はダメとかいわれるんじゃないの?
- 88 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 13:47:23 ]
-
これはこれで綺麗に見えるのだが、 その感性を会得出来ないのは、 まだ君が未熟である証拠であろう。
- 89 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 13:55:00 ]
- >>86
%chinkoと%mankoわけるのは無駄だろ?
- 90 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 14:51:34 ]
- > これはこれで綺麗に見えるのだが、
廃人になる前にドラッグやめたほうがいいよ。
|

|