- 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
- 39 名前:デフォルトの名無しさん [2007/06/15(金) 19:17:52 ]
- perl未経験者なんですが・・・。
いきなりのご質問でも大丈夫でしょうか?
- 40 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 19:21:10 ]
- あきらめて下さい。
あなたの質問は解決できません。
- 41 名前:39 mailto:sage [2007/06/15(金) 19:22:09 ]
- 分かりました。
お手数をおかけしました。
- 42 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 19:38:06 ]
- perlよりも先に日本語を勉強して欲しい
- 43 名前:39 mailto:sage [2007/06/15(金) 19:41:12 ]
- >42
そうかもしれません。 本当にごめんなさい。
- 44 名前:39 mailto:sage [2007/06/15(金) 21:16:05 ]
- れろれろえれ男レオレオ炉得れろ絵
- 45 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 21:45:55 ]
- 質問に応じて忍者ポイントで答えるよ!
- 46 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 21:48:29 ]
- >>43
いけない子だ。お仕置きだね。
- 47 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 23:17:53 ]
- >>39
こちらへどうぞ くだすれPerl(超初心者用) pc11.2ch.net/test/read.cgi/php/1157862828/l50
- 48 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 02:15:49 ]
- >>38
「たんなるバイト列」がU+00〜U+FFと一致する事は、覚えておいて損はないかも。 例. $a = substr(pack('CCCC',0xFC,0xFD,0xFE,0xFF).chr 256,0,4); # utf8フラグ付き $b = pack('A*',$a)); # utf8フラグ無し $c = pack('CCCC',0xFC,0xFD,0xFE,0xFF); print "a:",unpack('H*',$a),"\n"; print "b:",unpack('H*',$b),"\n"; print "c:",unpack('H*',$c),"\n"; print "a eq b:",$a eq $b ? 1:0,"\n"; print "a eq c:",$a eq $c ? 1:0,"\n"; print "b eq c:",$b eq $c ? 1:0,"\n"; a:c3bcc3bdc3bec3bf b:c3bcc3bdc3bec3bf c:fcfdfeff a eq b:0 a eq c:1 b eq c:0
- 49 名前:48 mailto:sage [2007/06/16(土) 02:22:20 ]
- ごめん、見て分るとおり2行目の $b=pack('A*',$a)); は、 $b=pack('A*',$a); の間違い。
- 50 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 06:50:36 ]
- ゆ る さ ん
- 51 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 10:28:05 ]
- 無意味にユニコード系薦める奴は売国奴
- 52 名前: ◆TWARamEjuA mailto:sage [2007/06/16(土) 11:16:28 BE:2940293-2BP(6824)]
- ↑くすくす♪
- 53 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 17:05:17 ]
- 「くすくす」は絵師だろ…常識的に考えて
- 54 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 20:01:52 ]
- アプリケーションがダイアログを表示した場合に、
それを検知し閉じる処理を行うアプリケーションを作りたいのですが どういうモジュールを使えば良いですか。 OSはWindowsXP、 Perlのバージョンはv5.8.8 built for MSWin32-x86-multi-thread です。
- 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 ]
- > これはこれで綺麗に見えるのだが、
廃人になる前にドラッグやめたほうがいいよ。
|

|