トップページ⇒php
1001コメント322KB

Perlコーディング初心者質問スレ Part 57

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2008/02/25(月) 19:25:51ID:???
Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

お勧めサイトは >2 以降

前スレ http://pc11.2ch.net/test/read.cgi/php/1189939783/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
0809nobodyさん2008/07/12(土) 09:51:37ID:???
Spreadsheet::WriteExcelって縦方向のセルの結合って出来ないのか?


$format = $workbook->add_format();
$format->set_merge();

$worksheet->write_unicode(0, 0, utf8( Jcode->new('ぬるぽ')->utf8 )->utf16, $format);
$worksheet->write_blank(0, $_, $format) for 0..13;
っていう横方向のセルの結合は出来るんだが

$worksheet->write_unicode(0, 0, utf8( Jcode->new('ぬるぽ')->utf8 )->utf16, $format);
$worksheet->write_blank($_, 0, $format) for 0..13;
これだと結合できない。
仕様なのか俺がアフォなのか誰か教えれ!
08108092008/07/12(土) 11:19:24ID:???
事故レス
何となくできたわ。
お騒がせしますた。
0811nobodyさん2008/07/12(土) 18:05:43ID:???
>>810
お騒がせしたと思うのなら、どうやったらできたのか書くように。
同じ悩みで検索でたどりついた人はまた同じ質問をするでしょ?
0812nobodyさん2008/07/12(土) 18:28:41ID:???
>>811
もうちょっと優しく書いて欲しいな。
0813nobodyさん2008/07/13(日) 09:44:35ID:SNV4Eg13
Perlでクローラーを作りたくて、いろいろ勉強しているのですが、
下記3行目のコードの意味がどうしてもわかりません。。
my @extract_links; #パーズ中に抽出されたURL
my $base = $response->base;
@extract_links = map { $_ = url( $_, $base )->abs; } @extract_links;

Perl初心者にもわかるようなコードに書き直すことはできますか?
何を勉強したら、このようなプロっぽいコードが書けるようになるのかも知りたいです。。
0814nobodyさん2008/07/13(日) 17:38:13ID:???
mapの説明を読みましょう。
$ perldoc -f map

@extract_links = map { $_ = url( $_, $base )->abs; } @extract_links;
これはフィルタです。
@extract_links = <--(フィルタ)-- @extract_links;
右側の @extract_linksにフィルタをかけて、自分自身に代入しています。

右側から入ってきた @extract_linksの各要素は、$_に入れられます。
その各要素に対して、
url($_, $base)->abs;
という処理をして(多分相対パスから絶対パスにしているのでしょう)、
その結果を $_ (自身) に入れています。
$_ = url($_, $base)->abs;

結果として@extract_linksの中身が全部絶対パスになって返ります。
0815nobodyさん2008/07/13(日) 23:01:57ID:???
>>813
プロっぽいどころか、「どこの素人が書いた?」って言われるコード
だと思うが、、、何で無意味な代入をするかねぇ

3行目の代りになるコード。初心者向け。
foreach my $cont ( @extract_links ){ $cont = url( $cont, $base )->abs ; }
# $_ = url( $_, $base )->abs for @extract_links ;
0816nobodyさん2008/07/13(日) 23:03:33ID:???
s/無意味な代入/無意味な$_への代入/
map自体を否定してるんじゃないです。
0817nobodyさん2008/07/13(日) 23:10:10ID:???
>>816
mapブロック内で$_を変更したら、配列にも影響する。
だから、戻り値で置き換えるのは2度手間ってこと。
mapかforeachかは宗教論争だから好きなの使っとけ。
>>815のが見やすいことが多いけどな。
0818nobodyさん2008/07/13(日) 23:18:22ID:???
>>817
フォロー thx.
815のままだとmapへの攻撃とも取られかねんかったから、816を書いたんだw
0819nobodyさん2008/07/14(月) 00:04:04ID:???
>mapかforeachかは宗教論争だから

馬鹿すぎる
0820nobodyさん2008/07/14(月) 01:16:23ID:???
あたまおかしいひとばかりですね
0821nobodyさん2008/07/14(月) 14:17:03ID:???
TMTOWTDI
0822nobodyさん2008/07/14(月) 14:43:20ID:???
>>819
ん?
0823nobodyさん2008/07/14(月) 15:02:41ID:???
「use constant HOGE => "abc";」のとき、それを使って、
「print "match!\n"if(/^main::HOGE/);」とかしたいんですが、
うまい方法はありませんか?
「my $a=main::HOGE;print "match!\n"if(/^$a/);」はできるんですけど。
正規表現内で、use constant で定義した定数を使いたいのです。
0824nobodyさん2008/07/14(月) 15:29:04ID:???
print "match!\n" if(/^@{[HOGE]}/);
print "match!\n" if(/^${\HOGE}/);
08258132008/07/14(月) 22:29:29ID:ojoqjs1p
皆さん、親切な回答ありがとうございました。

Perl初心者がいきなりクローラーを作ろうというのが、
ちょっと無謀だったかも。。

基礎から勉強します。(・з・)
0826nobodyさん2008/07/15(火) 00:18:02ID:???
>>825
Plagger で HTTP::Async とかつかって遊ぶといいよ
0827nobodyさん2008/07/16(水) 23:13:16ID:???
質問

splitで、&を区切り文字として指定した場合、
参考書だと、
&が消える、っていう説明と、
&が残る、って説明が混在しているんだが、
どっちが正しいの?
0828nobodyさん2008/07/16(水) 23:13:48ID:???
それと無料のIDEもおしえて
0829nobodyさん2008/07/16(水) 23:46:12ID:???
>>827
なぜ試さない

>>828
なぜ検索しない
0830nobodyさん2008/07/16(水) 23:54:09ID:???
>>829
オレらの業界って気軽に試せないのね。

ダムがあったとして
「ここにもし10cmくらいの穴を開けたらどうなるだろう?」

みたいなところなんで、

「いきなり実行する」

っていうのはキチガイ扱いされてクビになるのね。
0831nobodyさん2008/07/17(木) 00:14:28ID:???
>>829が言ってるのはむしろ試作の方だがな。
0832nobodyさん2008/07/17(木) 00:39:50ID:???
自分で試したらわかった

&は消える。

参考書のほうが間違ってたわ。
0833nobodyさん2008/07/17(木) 00:55:40ID:???
敢えて残るってわざわざ記述されてるってことはミスプリントなのか?
出版元に問い合わせてみたら?
0834nobodyさん2008/07/17(木) 02:41:15ID:???
例題が2つあって、
1は消えてるんだけど、
2は残ってるの。
余計混乱するわ。
0835nobodyさん2008/07/17(木) 03:23:04ID:???
そらむしろ必要な情報だろw
0836nobodyさん2008/07/17(木) 05:31:29ID:???
>>832
「普通は」消えるが正解。正規表現内で()でトラップすりゃ残る。
$str = 'a&b&c&d&' ;
split /&/, $str ; # <= 消える。
split /(&)/, $str ; # <= 残る。
split /(?:&)/, $str ; # <= 消える。
なんで態々解説したかと言うと、区切り文字「列」を二つ使う場合に(|)使ってトラップさせて
「消えないんすけど」って質問された事があったから。
split /(&|:)/, 'a&b&c&d:e:f:g' ; # 本来は区切り文字列ね。
0837nobodyさん2008/07/17(木) 05:57:35ID:???
なんかむずかしいことはよくわかんないけど、
こういうつまんないことってフレームワークに全部お任せすればよくね。
0838nobodyさん2008/07/17(木) 06:17:36ID:???
フレームワーク使ったこと無い。
0839nobodyさん2008/07/17(木) 06:48:41ID:???
鼠駆除すんのにナパーム弾を使うのか
0840nobodyさん2008/07/17(木) 09:33:43ID:???
>>839
ナパーム弾どころか地球破壊爆弾を使おうとした例もありますが
08418092008/07/17(木) 09:39:10ID:???
>>811
すまんこすまんこ。さらに遅レスすまんこ

Spreadsheet::WriteExcelでセルの結合に悩んでるヤシは
ttp://www.koders.com/perl/fid09386E1C3E183B96174D224B87445AE647A32B23.aspx
ここを見れ!
例文が載ってたわ。
0842nobodyさん2008/07/17(木) 19:35:57ID:???
>>836
消える場合と消えない場合が
あるってことか。
0843nobodyさん2008/07/17(木) 22:27:51ID:???
gはグローバルの略だとか、
そういうのの、一覧表がのってる
ページをおしえて
0844nobodyさん2008/07/17(木) 22:29:43ID:???
あと無料のIDEも教えてね
0845nobodyさん2008/07/18(金) 01:28:58ID:???
知っているがおまえの態度が(ry
0846nobodyさん2008/07/18(金) 01:41:55ID:???
>>843
作ってダーリン

>>844
好きに調べれダーリン
0847nobodyさん2008/07/18(金) 09:49:50ID:???
もってけ!IDE
0848nobodyさん2008/07/19(土) 10:24:55ID:???
トリップを生成する仕組みの以下の部分の意味が分かりません。
教えてください。

$salt =~ s/[^\.-z]/\./go;
0849nobodyさん2008/07/19(土) 10:33:23ID:???
5本の指が入る Perl hacker に聞けばいいだろ。
0850nobodyさん2008/07/19(土) 18:10:50ID:???
>>848
s///
[A-Z]
と分けて考えないとダメ。
0851nobodyさん2008/07/19(土) 18:39:57ID:???
>>848
$salt =~ # Apply following pattern to $salt
s/ # Start substitution expression
[ # Start difine charactor class
^ # This is negated class
\.-z # Range: "." .. "z" by charactor-code
] # End define charactor class
/ # End pattern and start substitution string
\. # Means "." (NOTE: "\" is meaningless here)
/gox; # Modifiers
# g: global matching
# o: compile the pattern only once
## (x: extended)

>>849
> 5本の指が入る # So loose, and so non-useful for hacking.
0852nobodyさん2008/07/19(土) 20:43:57ID:???
>>850-851

すみません、噛み砕いて教えてください。
0853nobodyさん2008/07/19(土) 20:44:03ID:???
>>851
なにそれ
なんかのソフトでそうやって
自動で解説が出るの?
0854nobodyさん2008/07/19(土) 20:59:09ID:???
>>853
> なんかのソフトでそうやって
> 自動で解説が出るの?

自動で解説できるモジュールあったら便利そうだね!
0855nobodyさん2008/07/19(土) 21:46:02ID:???
>>852
>>851はかみ砕いて解説してあるよ。部品ごとにいちいち説明してあるじゃん。
(教えてくんにまともに教えるの癪だからわざわざ英語にしたんだと思うけど)
辞書引くくらいすれば?
perl 置換 パターンマッチ 正規表現 s演算子 でぐぐればいくらでも解説があるよ。
0856nobodyさん2008/07/19(土) 21:50:14ID:???
じゃ、このスレいらないやん
0857nobodyさん2008/07/19(土) 22:20:45ID:QBlnT4Mv

重い処理をする時に、ブラウザを待たせる必要がないので、
セッションを閉じようと思い、どうすればよいのかwebであさっていたら、
標準出力を閉じるとよいみたいな感じで書いていたので試してみましたが、
処理が待たされます。なぜでしょう?


print "a";
close(STDOUT);
sleep 20;

20秒またされたのち、ブラウザが開放されます。
0858nobodyさん2008/07/19(土) 22:30:40ID:???
どこに書いてあったの?
0859nobodyさん2008/07/19(土) 22:33:59ID:QBlnT4Mv
http://www.tohoho-web.com/lng/199910/99100140.htm
こことか
0860nobodyさん2008/07/19(土) 22:39:51ID:???
そこ見た感じだと$|=1やってforkしたときに子プロセス側で先にcloseして
処理を始めるようだけど、そうしてもダメだったの?
0861nobodyさん2008/07/19(土) 22:46:03ID:QBlnT4Mv
バッファはやった。
子プロはまだ作ってない。

そこのリンクの
http://www.tohoho-web.com/lng/199909/99090185.htm
環境によるようだね。

こうゆう時の処理はこうだよみたいに書いてあったんで(昔どっかのページで見た)、
普通に出来る処理と思ってた・・・。
0862nobodyさん2008/07/19(土) 23:04:25ID:???
自己レス

普通のperlではちゃんと、動作しました。
mod_perlでの環境では動作しないようです。

なぜ、mod_perlでは動作しないのかは、よくわかりません。
誰か教えて下され・・・。
0863nobodyさん2008/07/19(土) 23:48:52ID:???
>>862
coderepos かどこかにソース晒せば、5本の指が入る Perl hacker に教えてもらえるよ。
0864nobodyさん2008/07/20(日) 02:16:15ID:???
>>862
くだすれのほうにもちょっと前に書いたけど、
$|=1にしても、たしか256byteまでは自動でキャッシュが効くとか昔調べた時にどこかに書いてあった。
(昔自分がやったのは、数秒sleep毎に文字列を書き出して、一定時間でexitする。って処理だったけど・・。)

なので自分は、Content-Typeヘッダ出力の直後に、print " " x 256; を書くようにしたらそれで出来た。
あんまりスマートなやり方ではないけど、これ以外に知らない。
(向こうでは、Apacheがキャッシュするって書いたけど、実は自分の思い違いだったかも知れん。
ブラウザとか鯖環境によってはバッファされるbyte数が違うとか言うのも聞いたことがあるのを思い出した。
詳しく調べてないんでよく分からんし、どこに書いてあったかも覚えてない。)

mod_perlについては、printもcloseもexitも全て内部用の関数にoverrideされてるはず。
それに実行されるのは、対象のスクリプトのみではなく、またmodperl::RegistryにしてもPerl Handlreにしても、
実行してるのはApacheプロセスそのものなので、IO周りやsignal周りはApacheの内部実装によると思われる。
それでも上の方法で、ウチの環境では、上のcgiで実行したのと同じ処理ができた。
(すまんが、自分もApacheとかmod_perlの内装知ってるわけではないので、詳しくはわかりません。)
0865nobodyさん2008/07/20(日) 03:26:59ID:???
孫プロセスでやればいいだけの話だと思うが
0866nobodyさん2008/07/20(日) 03:56:52ID:???
gearman とか使えばいいんじゃね。
0867nobodyさん2008/07/20(日) 06:30:33ID:???
>>855
ググってもよく分からんのですよ。

.からzまで以外の文字があったら.(そのままって意味かな?)に変換する。
gオプションだから1回マッチしてもそのあとも処理を行う。
oオプションだからパターンを1回しかコンパイルしない。

だと思うのですが、目的が分からないのです。
あと、oオプションの意味もよく分からないし。
0868nobodyさん2008/07/20(日) 09:51:06ID:???
oオプションを>>848のケースで使うのは無意味だからそりゃ意味わからなくて当然

.からz以外の文字は、
./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
以外の文字

gオプションが無いと最初の1回マッチするだけで、有るとあるだけマッチを繰り返す
0869nobodyさん2008/07/20(日) 14:38:39ID:???
>>867
crypt(3)の標準的な実装では、第二引数(salt)は[a-zA-Z0-9./]からなる二文字です。ここではそれを得るための変換処理の一部過程として置換式を用いています。man crypt も参照。
ここから先は Perl の話題ではなくなりますが、知っていて損もないのでぼちぼちがんばってください。
08708692008/07/20(日) 14:58:22ID:???
>>867
> あと、oオプションの意味もよく分からないし。

>>868 が一行目で書いているけれど補足。
/o 修飾子は実行時に変化する部分が含まれている正規表現の再コンパイルを抑制します。
例えばパターンに変数が含まれているケースで /o 付きの式が複数回実行されてもパターンは再評価されません。
初回評価時の値のままマッチングが行われます。パターンが変化しない旨を明示することで実行時性能の向上を図る機能です。

今回のケースではパターンは [^\.-z] ですから変化する部分はありません。>>868 の言う「無意味」というのはそういうことです。
perldoc perlretut 及び perldoc perlop の Regexp Quote-Like Operators の項も見てみてください。
0871nobodyさん2008/07/20(日) 16:50:44ID:???
>>869-870

回答ありがとうございます。
しかしよく分かりません。。。

[a-zA-Z0-9./]以外にマッチ=ひらがなとか漢字とか?にマッチしたら、
その文字を、そのまま使う???
そうなると、saltが許されるのは[a-zA-Z0-9./]だけなので?????

ん??????????????
俺、アホなのかな?
0872nobodyさん2008/07/20(日) 19:57:43ID:???
質問

パーミッションで、
グループを6とかにすると、
もしそのサーバーが、シェルを使える
サーバーだった場合、
その同じサーバーを使ってる人が
シェルで勝手に入ってきてデータ-を
書き換えられたり、消されたりするので、
グループは0にしなければいけない、と
さっき読んだ参考書に書いてあるのですが、
それであってますか?
08738692008/07/20(日) 20:39:57ID:???
>>871
s/正規表現のぱたーん/左のパターンにマッチした部分を置き換える文字列/

[^\.-z] は一文字幅で /g 修飾子付きだから、マッチする一文字を見つけるたびに、置換文字列で置き換えられます。
置き換える文字列はこの場合 "." だから……。
要は s/// の右半分では "." はメタキャラクタじゃない、つまり何ら特別な意味がないということです。
がんばって気付け。
869 は自覚的なアホを応援しています。
0874nobodyさん2008/07/20(日) 20:49:41ID:???
>872
ちょっとは参考書を信用してもいいんでね?w
0875nobodyさん2008/07/20(日) 23:09:24ID:???
質問

EUCだと、タイトルに日本語使えない、
って参考書に書いてあるんだけど、そうなの?
0876nobodyさん2008/07/20(日) 23:20:40ID:???
タイトルとは何のタイトルですか?
HTMLのTITLEタグのことですか?
でしたらヘッダで適切な文字コードを指定すれば使えますよ
0877nobodyさん2008/07/21(月) 00:13:22ID:???
巨大配列を属性にセットしたオブジェクトを繰り返し生成すると、
なんだかブラウザの動きがもっさりしてくるんですが、
これはPerlが無駄にメモリを浪費してるからですか?
0878nobodyさん2008/07/21(月) 02:01:53ID:???
そうです。はい次。
0879nobodyさん2008/07/21(月) 05:10:19ID:???
>>873
あ、意味分かった。
[a-zA-Z0-9./]以外にマッチしたらピリオドに置き換えろ
って意味ですね?
0880nobodyさん2008/07/21(月) 10:10:27ID:???
definitely
0881nobodyさん2008/07/21(月) 17:58:17ID:???
頭悪い奴と初心者は解答してくれなくていいよ。
0882nobodyさん2008/07/21(月) 18:15:23ID:???
上級者のレスは只じゃないよ
0883nobodyさん2008/07/21(月) 18:38:24ID:???
ネットでの質疑応答にボランティア参加するかしないかの違いは、単に暇か忙しいかの違いであって、上級者か初心者かの違いではない。
0884nobodyさん2008/07/21(月) 20:58:45ID:???
>>879
大筋で合ってるけど微妙に違います。
元のパターンは [^.-z] なので、[a-zA-Z0-9./] 以外にもマッチ。
下記のワンライナーで Let's 実験。

perl -ple "s/[^.-z]/./g"
08858792008/07/22(火) 07:08:38ID:???
>>884
自分で書いた
[a-zA-Z0-9./]以外にマッチしたらピリオドに置き換えろ
と
[a-zA-Z0-9./] 以外にもマッチ
の違いが分かりません。???
0886nobodyさん2008/07/22(火) 11:13:09ID:???
perlで外部wwwサーバの生死が知りたいです。
LWP::UserAgentを使って出来そうなのですが、
どうコーディングしていいか分かりません。
よろしくお願いします。

やりたいことは、タイムアウト値を指定して
あるURLにアクセスした場合、
httpステータスコードが404を返しても
それは生きていると判定したいのです。
08878862008/07/22(火) 11:24:14ID:???
自己解決しました。
こんな感じで出来ました。

use LWP::UserAgent;

$url = "http://www.yahoo.co.jp/";

$ua = LWP::UserAgent->new;
$ua->timeout(10);
$req = HTTP::Request->new(GET => $url);
$res = $ua->request($req);
print $res->status_line;
0888nobodyさん2008/07/22(火) 13:31:20ID:???
telnet 相手先 80でいいじゃないか。
わざわざそんなことせんでも。。。
0889nobodyさん2008/07/22(火) 14:50:40ID:???
HEAD 使ってあげればいいのに・・・
0890nobodyさん2008/07/22(火) 15:02:22ID:???
仕様が不十分な以上はどれが良いとも決められないな
0891nobodyさん2008/07/22(火) 18:38:20ID:???
CGIのための実践入門Perl
技術評論社
アーク・シンク・タンク 三島 俊司

↑ちょっとわかりやすいね。
意味不明な記述も半分くらいあるけど。
0892nobodyさん2008/07/22(火) 18:40:05ID:???
質問

ifの代わりとしての?は使わない方がいいね。

だって?は正規表現とかでも使うから、
?があると、

「正規表現としての?かな?
それとも、ifの代わりの?かな?」

って考えないといけない。それが時間の無駄なので
?は使わずにifを使うようにしましょう。
0893nobodyさん2008/07/22(火) 18:41:11ID:???
質問なのかアドバイスなのかハッキリしろ糞バカヤロウw
0894nobodyさん2008/07/22(火) 18:52:12ID:???
同様の混乱事例として^があるよね

これ、^があると、「正規表現の行頭の意味なのか?
それとも、否定の意味なのか?」
って一瞬、混乱するし、なるべく使わないほうがいいと
思うんだけど、行頭の意味だと、¥aっていう、代替表現が
あるんだよね。
0895nobodyさん2008/07/22(火) 18:53:27ID:???
それとsortはデフォルトで文字列ソートだけど、
数値としてソートしたいときは、スペースシップ演算子を使って
$a <=> $b
とかって書かないといけないけど、そんなのめんどいので、
「数値ソート」
って関数をデフォルトで入れておいてくれないかな?
0896nobodyさん2008/07/22(火) 19:00:27ID:???
あとおまえら、perlのIDE何使ってるのか教えてよ。

ttteditみたいのがいいんだけど。

たとえばforeachって選ぶと、自動で

foreach 変数 リスト {

}

ってテンプレが出てくるようなのがいい。
0897nobodyさん2008/07/22(火) 19:08:48ID:???
>>894
そんなもんで混乱するなよw
0898nobodyさん2008/07/22(火) 19:12:00ID:???
あとperlって音出してほしいよね。
ファイルのオープンに成功した時とか、

「ファイル オープン!」
「ギュイイイン」

みたいな。
0899nobodyさん2008/07/22(火) 20:54:22ID:???
出るよ
0900nobodyさん2008/07/22(火) 20:54:33ID:???
データベース接続!
ガショォォォォオオオン!
09018842008/07/22(火) 21:30:20ID:???
>>885
注意が足りなかった点、謝罪するとともに、説明しなおす試みです。

この場合、元のパターンを真偽反転させると分かりやすいかもです。
文字クラス [.-z] は、 [a-zA-Z0-9./] よりも広い範囲を指している点をご理解いただきたい。
つまり s/[.-z]/./g の後でも、[a-zA-Z0-9./] 以外の文字が一部残ってしまう可能性があるわけです。

併せて、ちったあ試してみてくれよ、とお願いしてみます。
>>884 にテストの例も挙げています、ってーか自分の至れり尽くせりっぷりに泣けてきた。
0902nobodyさん2008/07/23(水) 02:20:55ID:???
>>896
秀丸+マクロでおk
0903nobodyさん2008/07/23(水) 07:57:47ID:???
初心者スレで無ければほっとくんだが…
>>892
python ですら実装してしまった三項演算子にケチを付けてどうする。
>>894
\a はアラームじゃねえか? \A だろ?しかも \A と ^ は挙動が違うし。
>>895
perl5.10 にしろ。指定が無い場合は勝手に文字列か数値か決めてソート
してくれるらしい。
0904nobodyさん2008/07/23(水) 08:56:46ID:???
>>903
本当?

% perl --version

This is perl, v5.10.0 built for i486-linux-gnu-thread-multi

Copyright 1987-2007, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

% perl -e 'print join(",", sort 1,2,10,5), "\n"'
1,10,2,5
0905nobodyさん2008/07/23(水) 10:47:15ID:???
おもいっくそ文字列じゃないw
0906nobodyさん2008/07/23(水) 12:14:10ID:???
>>896
Eclipse
0907nobodyさん2008/07/23(水) 21:52:41ID:???
>>906 糞重い
0908nobodyさん2008/07/23(水) 22:01:45ID:???
Open Perl IDEはどう?

Open Perl IDE
http://sourceforge.net/projects/open-perl-ide
レス数が900を超えています。1000を超えると表示できなくなるよ。