Perlについての質問箱 28箱目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/10/31(火) 14:52:21"There's more than one way to do it" ということで、Perlの奥深さについて皆で語り合い、追求してまいりましょう。
CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板 http://pc8.2ch.net/php/ )
CGIの質問は答えがPerlと全然関係ない話に帰着する場合が多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。
このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
http://www.perl.org/get.html
● 2006/10/31現在の最新版: 5.8.8
● 2006/10/31現在の開発版: 5.9.3
前スレ
Perlについての質問箱 27箱目
http://pc8.2ch.net/test/read.cgi/tech/1157874614/
リンク集は>>2-3
過去スレは>>4
0578デフォルトの名無しさん
2006/11/24(金) 19:25:46おk
my $number = [
{name=>'リンゴ',price=>100},
{name=>'本',price=>500},
{name=>'車',price=>100000},
];
my $item = [sort { $a->{'price'} <=> $b->{'price'} } @$number]->[0];
print $item->{'name'} , 'が' , $item->{'price'} , '円で一番安いです';
0579デフォルトの名無しさん
2006/11/24(金) 19:31:420580233
2006/11/24(金) 19:37:49読み終わりました。
こんなコードが良く思いつきますね。
たくさんレスを付けて頂いて、どうもありがとうございました。
>>579
背伸びしてごめんなさい。
0581デフォルトの名無しさん
2006/11/24(金) 19:52:150582デフォルトの名無しさん
2006/11/24(金) 19:54:01どうして?
0583デフォルトの名無しさん
2006/11/24(金) 20:05:31ある要素が配列の何番目にあるかを求める関数もそろってる。
0584デフォルトの名無しさん
2006/11/24(金) 20:07:350585デフォルトの名無しさん
2006/11/24(金) 20:37:49Perlみたいに
use List::Util;
とかやらなくても良いわけですね。
0586デフォルトの名無しさん
2006/11/24(金) 21:48:27こういう感じで標準エラー出力を変えることってできます?
0587デフォルトの名無しさん
2006/11/24(金) 22:06:230588デフォルトの名無しさん
2006/11/25(土) 09:48:59突っ込めばとりあえず main の STDERR は STDOUT に全部流れるハズ。
そーじゃなくて、use warnings 時の warning を STDOUT に変更したい
ってんなら、
local $SIG{__WARN__} = sub { print STDOUT @_ } ;
が、586 の質問の仕方だと 587 の云う通り
======
前者の例
*STDERR = *STDOUT ;
print STDERR qq{hoge\n} ;
0589デフォルトの名無しさん
2006/11/25(土) 11:23:200590デフォルトの名無しさん
2006/11/25(土) 12:39:08ファイルサイズなら stat か -s が使える。
フォルダはわからない。
ところで、配列の参照から配列長を知る方法を知りませんか?
$array_ref = \@hoge_array;
( $$#array_ref ?)
0591デフォルトの名無しさん
2006/11/25(土) 13:41:150592デフォルトの名無しさん
2006/11/25(土) 14:35:200593デフォルトの名無しさん
2006/11/25(土) 21:52:200595590
2006/11/25(土) 22:06:37ご回答ありがとうございます。
ようやく見苦しいソースから開放されます。
0596デフォルトの名無しさん
2006/11/27(月) 01:59:19つまんないね、そういうの。
0597デフォルトの名無しさん
2006/11/27(月) 02:10:46GDの使い方がよくわかりません。
勉強するのに、詳しくて具体例の豊富な書籍かサイトがあったら
教えていただけないでしょうか?
できれば日本語だと助かりますが、英文サイトでも構いません。
0598デフォルトの名無しさん
2006/11/27(月) 02:13:08ttp://blog.livedoor.jp/dankogai/archives/50696852.html
> それとも、編集部は何かPerlに含むところでもあるのだろうか。
> 編集部の猛省を求める。
いったい何様のつもりなんだろう?
0599デフォルトの名無しさん
2006/11/27(月) 02:26:01編集部の人おつかれさまです^^
0600デフォルトの名無しさん
2006/11/27(月) 02:32:21> いったい何様のつもりなんだろう?
編集部は別に偉くないよ。
0601デフォルトの名無しさん
2006/11/27(月) 02:35:42100歩譲って君に考えを合わせたところで、
自分の場所で自分の意見を書くのは責められないだろ。
0602デフォルトの名無しさん
2006/11/27(月) 02:39:270603デフォルトの名無しさん
2006/11/27(月) 02:42:42文句があるなら本人に直接言えばいいし、言えないなら見なかった事にしとけばいいのに。
0604デフォルトの名無しさん
2006/11/27(月) 02:45:01> つまんないね、そういうの。
そんな低レベルなところに面白さを求めるのはダラクですっ!!
志は高く! 下を見るな、上を見ろ!!
0605デフォルトの名無しさん
2006/11/27(月) 02:50:53インサイダーするし、
とばし記事や風説の流布で株価は操作するし、
インタビュー記事では印象操作するし、
あげくのはてに>>598のような2ちゃんを使って自分達を批判するものを貶める工作活動かよ。
モラルが欠け、自浄作用も期待できない以上、さっさと潰れちまえ糞マスゴミ社
0606デフォルトの名無しさん
2006/11/27(月) 02:58:55>>598はどうかと思うが、君は終わってる。
0607デフォルトの名無しさん
2006/11/27(月) 04:52:370608?????
2006/11/27(月) 05:07:220609デフォルトの名無しさん
2006/11/27(月) 10:55:48「バッチファイルの凄いヤツ」って言っちゃったんだけど、大丈夫かな?
(ちなみにPHPはテンプレートの凄いやつと言った記憶があるが)
0610デフォルトの名無しさん
2006/11/27(月) 10:59:41他の新しいスクリプト言語使ったら戻る気にならない。
古いスクリプトの修正くらいしか使わないよ。
0611デフォルトの名無しさん
2006/11/27(月) 11:06:26何使ってるんだ?
pyson?Ruby?
0612デフォルトの名無しさん
2006/11/27(月) 11:09:370613デフォルトの名無しさん
2006/11/27(月) 12:52:17書くのはPerlのほうがいいな。
Rubyで書くときはPerlで書くよりも時間をかけれるときか
あとでもう一回使うばあいか大規模な場合。
0614デフォルトの名無しさん
2006/11/27(月) 17:33:43リファレンス⇔Cのポインタの理解がすごく容易だし、文法もCをふまえて拡張してあるから、
理解しやすいだけでなくそれぞれの知識が実際のコーディングの妨げにならない。
0615デフォルトの名無しさん
2006/11/27(月) 17:38:450616デフォルトの名無しさん
2006/11/27(月) 17:48:040617デフォルトの名無しさん
2006/11/27(月) 18:48:430618デフォルトの名無しさん
2006/11/27(月) 20:29:01古い=枯れていてバグが少ない(エイジングテスト通過済み)
なので、ほめ言葉ですよね^^
0619デフォルトの名無しさん
2006/11/27(月) 21:54:14もし要件満たせなくなれば捨てるだけのこと。
執着など無用だ。
0620デフォルトの名無しさん
2006/11/27(月) 22:06:55簡単に言語を捨てられるなら、その程度のレベルだったという事。
0621デフォルトの名無しさん
2006/11/27(月) 22:16:30捨てるしかないな
0622デフォルトの名無しさん
2006/11/27(月) 22:19:520623デフォルトの名無しさん
2006/11/27(月) 22:37:34なくなったら寂しいな。
0624デフォルトの名無しさん
2006/11/27(月) 22:58:140625デフォルトの名無しさん
2006/11/27(月) 23:23:47ああ、こういう言語憶えるのが目的みたいな人も
いるよね。 まぁ、それはそれでいんじゃない。
いい電動ノコ使いこなしてても、もっといい
チェーンソーが出れば俺は簡単に乗り換えるよ。
電動ノコ名人になりたんじゃなく木を切りたいのでね。
チュンチュン… ハッハッ…
0626デフォルトの名無しさん
2006/11/27(月) 23:38:580627デフォルトの名無しさん
2006/11/27(月) 23:52:47↓↓何事もなかったかのように質問者登場↓↓
0628デフォルトの名無しさん
2006/11/28(火) 00:10:130629デフォルトの名無しさん
2006/11/28(火) 00:10:17頭がおかしいからですか?
0630デフォルトの名無しさん
2006/11/28(火) 00:22:290631デフォルトの名無しさん
2006/11/28(火) 10:39:31っつーかこの議論は他スレでやれっつの
0632デフォルトの名無しさん
2006/11/28(火) 10:50:010633デフォルトの名無しさん
2006/11/28(火) 11:23:33ここなんかどうだ?
http://pc8.2ch.net/test/read.cgi/tech/1162273941/l30
0634デフォルトの名無しさん
2006/11/28(火) 11:29:59なくなったらまた作ればいいじゃない。
0635デフォルトの名無しさん
2006/11/28(火) 13:17:13いえ、その数がゼロではないことを疑問に思っているのではなく、
Rubyコミュニティがあまりにも「そんなのだらけ」なのは何故だろうというのが
訊きたかったことです。
(Rubyの話題のようでいて、Rubyスレで訊いても意味がないことなので、
彼らに噛み付かれることの多いPerlのスレで訊いてみました)
0636デフォルトの名無しさん
2006/11/28(火) 13:44:23邪魔
0637デフォルトの名無しさん
2006/11/28(火) 13:54:44このことから言えることは、 Perl は心の広いおおらかな人が使って
いる言語と言えよう。逆に言えば、Perl は心が広くおおらかでないと
使えない言語ということだ。こうあるべきだと理想ばかりを追求し、
それから外れたらすぐにキーっとなって怒るような人には耐えられ
ないということだ。
もしつき合うなら Perl を使っている人とつき合いたいものだ。
0638デフォルトの名無しさん
2006/11/28(火) 14:16:270639デフォルトの名無しさん
2006/11/28(火) 14:32:29負ける議論ばかり始めるからな。
0640デフォルトの名無しさん
2006/11/28(火) 17:18:280641デフォルトの名無しさん
2006/11/28(火) 17:19:09それPHP信者でもよくあるんだけどPerl使いはPHPやRubyも触っている事が多い
ので他の言語に噛みつかないと勝手に推測している。
おおらかというかじいちゃんみたいな印象がするかな。
2chで言語比較議論になった時のPerlerの交わしテクを見てるとウケる。
0642デフォルトの名無しさん
2006/11/28(火) 17:25:380643デフォルトの名無しさん
2006/11/28(火) 18:58:41パケットキャプチャツール(tcpdump)からの出力を受け取って、
その出力結果をリアルタイムに、その場で加工することが行いたいです。
open(TCPDUMP, "tcpdump |");
while(1){
while(<TCPDUMP>){
#処理
}
}
現在は上記で処理しているのですが、どうしても処理が遅くなります。
なので、tcpdumpから入力があった際に処理を行う事にしたいのです。
初歩的質問で申し訳ないのですが、宜しく御願い致します。
0644643
2006/11/28(火) 19:50:39バッファに溜まったかのような状態になります。
入力があったら即認識し、処理、出力をしたいです。
0645デフォルトの名無しさん
2006/11/28(火) 19:59:42っ[tcpdumpのマニュアル]
0646643
2006/11/28(火) 20:07:45すみません、有難う御座いました。
0647デフォルトの名無しさん
2006/11/29(水) 17:06:36うーん。PHP は最初は Perl で作った CGI だったのにな。
まあいいか。
0648デフォルトの名無しさん
2006/11/30(木) 02:12:58kwsk
というか、php,Perl で検索したら
WEBプログラミングは、PHP/Perl派と、Java派に二分されるとかいう
ブログを見つけてシマタヨ。
http://www.milkstand.net/fsgarage/archives/000803.html
Perl で簡単おきらくごくらくにスクリプト書いていた漏れは
Java 派にケーベツされる訳?! と思ってシマタヨ。
まあ、漏れの本業はWEBプログラミングじゃあなく、、
Perlスクリプトは本業を効率化する為の道具にすぎんので、
Java派にケーベツされようが何しようがいいんだが。
0649デフォルトの名無しさん
2006/11/30(木) 07:27:19資料がなくて困っております。
0650デフォルトの名無しさん
2006/11/30(木) 22:08:39他人のコードを読めるなら、Sledgeで使ってるから(Sledge::Exception)読んでみたら?
0651デフォルトの名無しさん
2006/11/30(木) 22:41:180652デフォルトの名無しさん
2006/11/30(木) 23:43:17初期化でも構いません。
0653デフォルトの名無しさん
2006/11/30(木) 23:51:430654デフォルトの名無しさん
2006/12/01(金) 13:33:04http://www.phpoo.net/index.php?p=history.html#history.php
PHPの歴史
PHP/FI
PHPはPHP/FIというソフトウェアを継承したものです。PHP/FI は1995年に
Rasmus Lerdorfによって作成されました。当初は オンラインに置いてある
彼のレジュメへのアクセスを解析するための Perlスクリプトの単純な組み
合わせでした。彼はこのスクリプト に 'Personal Home Page Tools' と
いう名前を付けました。 さらに多くの機能が要求されるようになると、
Rasmusはデータ ベースとの連携や、簡単な動的ウェブアプリケーションを
作成 できるようなものをC言語で書き直しました。
0655デフォルトの名無しさん
2006/12/01(金) 15:22:09>>まあ、漏れの本業はWEBプログラミングじゃあなく、、
>>Perlスクリプトは本業を効率化する為の道具にすぎんので、
同じく。
鯖缶なので保守用のスクリプトをメインで書いとるよ。
けど、世間ではブラウザで管理するのが流れなのでWeb用も書かないとダメになってきてる。
0656デフォルトの名無しさん
2006/12/01(金) 18:04:29俺のちんけな頭じゃHP、商品売買ぐらいしか思いつかないので
需要があると思わないのだが、この板を見ていると本業にしている
人がちらほら見受けられるので興味がある。
教えてちょ。
0657デフォルトの名無しさん
2006/12/01(金) 19:18:46〜武田信玄 風林火山より〜
0658デフォルトの名無しさん
2006/12/01(金) 19:37:28バックアップ、ドキュメント管理
とかとか色々考えつくけど。
0659デフォルトの名無しさん
2006/12/02(土) 03:12:310660デフォルトの名無しさん
2006/12/02(土) 14:53:41てっとり早くperlを学ぶために最初に読むといい
チュートリアルとか本はありますか?
0661デフォルトの名無しさん
2006/12/02(土) 15:20:32フリーで配付してる掲示板とかのソース。
0662デフォルトの名無しさん
2006/12/02(土) 15:40:04perldoc
フリーで配布してるのもいいけど、KE○Tは駄目。
そんなの読む暇があったらCPAN漁ったほうが楽しいし役に立つよ。
0663デフォルトの名無しさん
2006/12/02(土) 16:38:20・・・でも置いてあるソースまで昔のままの出来なのな。
他の言語を知ってる人間は、恐らく言語のディテールにウェイトを置いて読むだろうから、
2種類のクオートがまったく意味不明な思想で使い分けられてる点とか、
そういうつまらない粗雑さに引っかかって、無用な足踏みをしちゃいそうな気がする。
確かに彼のソースは読むべきではない。
0664デフォルトの名無しさん
2006/12/02(土) 16:40:06UNIX/Linuxの知識があれば、最近出た"Minimal Perl"という本がお勧め。
題名通り、最低限の努力で、すでに知っている知識を活かしながら
perlを学習できる。
0665デフォルトの名無しさん
2006/12/02(土) 16:51:48> ruby, sed, C++など他の言語を知っている人が
> てっとり早くperlを学ぶために最初に読むといい
> チュートリアルとか本はありますか?
『PerlユーザーのためのRuby入門』……あ、逆か。
0666660
2006/12/02(土) 20:32:38>>Minimal Perl
洋書よむ気力はないです。
>>『PerlユーザーのためのRuby入門』……あ、逆か。
いい本だったら逆でも役にたつと思うんですが、amazonレビューの
評価が低いですね…
要所だけを押さえた覚え書きみたいのがあればよかったんですが、
とりあえずそこらのチュートリアルやソースをあさって読む
ことにします。
0667デフォルトの名無しさん
2006/12/02(土) 21:16:56ミスティーネットはどうよ、
Cプログラマの漏れが見様見真似で Perl スクリプトを組み始めたときから愛用している
Perlサイトだ。
http://perl.misty.ne.jp/
関数リファレンスはなかなか秀逸だ
但し、モジュールの使いこなしやら ppm や CPAN モジュールは
ここからもう一歩踏み込まんといかんなあ。
0668デフォルトの名無しさん
2006/12/02(土) 22:13:310670デフォルトの名無しさん
2006/12/02(土) 23:50:570671デフォルトの名無しさん
2006/12/03(日) 01:16:04対する認識不足がある。
10年前、その崖の高さは3メートルだった。ジャンプすれば上によじ登ることが
できたのである。
しかし崖は日々高くなり続けた。早くから昇り始めた人は、ときどき崖が
すこし高くなっていることに気づくと、高くなった分30センチひょいと
登るというのを数多く重ね、崖の上やその上部に留まりつづけている。
だがふもとから見てみよう。崖の高さは今や20メートルに達している。
初心者がふもとから叫んでいる。
「どうやって登ったんですか〜!」
これに
「跳び上がったら上に手が届いたよ〜!」
と叫び返してはいけないのである。
0672デフォルトの名無しさん
2006/12/03(日) 01:38:08>>660の「知ってる」の解釈が
名前を知っているだけなのか、きっちり使いこなしているレベルの知っているのかで
扱いがかなり違うんだよね。
ぶっちゃけ後者なら、2ちゃんで聞くまでもなく自分でtarボールの付属ドキュメントを読んで
すぐにperldocを使って文法やコーディングスタイルよんだりCPANを覚えて
いろいろモジュールをDLして使い方覚えたり、ソースを呼んでコーディングテクニックを身につけたりしてるはず。
0673デフォルトの名無しさん
2006/12/03(日) 02:17:45ラクダ本から入るのはちょっときつくないかな。ま、本格的にやろうと思ったらあれは必須の本だけど。
RubyだとかC++使いこなしてるレベルならいきなりいっても大丈夫か。
あとはPerlクックブックとPerl Best Practicesは必読だな。それだけ読めばあとはもうそれこそCPANのを
片っ端から読んで行くのが一番早いか。
0674デフォルトの名無しさん
2006/12/03(日) 02:27:45もちろん長く深く使い倒したいならラクダが揃ってた方が圧倒的に便利なのは確か。他の物はそれからでもいいよん。
0675デフォルトの名無しさん
2006/12/03(日) 02:31:21俺自身はラクダ本の第2版を買って勉強しはじめたんだが、
今の初心者にいきなり「第3版上下とも買え」っていうのはちょっと酷な気がする
0676デフォルトの名無しさん
2006/12/03(日) 03:57:42文体が独特で最初はとまどったけど、慣れると逆に明解でわかりやすいって思ったなぁ。
網羅的だから、一通り読むと、他の人のソースとかCPANモジュールとかが大体読めるようになってて驚いた。
あと、細かい所まで書いてあるから、細かい疑問の答えも大体載ってて、ありがたい。
でも、やっぱりプログラミング自体初めてっていう人にはキツいと思う。
■ このスレッドは過去ログ倉庫に格納されています