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


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

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



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 ]
> これはこれで綺麗に見えるのだが、

廃人になる前にドラッグやめたほうがいいよ。






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

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

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