トップページ⇒tech
985コメント317KB

Perlは結構使えるっぽいけどどうよ?

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさんNGNG
いくら汚いコードでも便利だし
もうすこしPerlを見直してみないか?
CGIじゃないよ。
0002デフォルトの名無しさんNGNG
まったく使えません

しゅうりょー

以後レスを付けないようにお願いします
付けるときは必ずsageを付けてください
0003デフォルトの名無しさんNGNG
っつーより基礎だろ、基礎。
0004 NGNG
ここにはPerlをやたら敵視する馬鹿がいるのでまともな議論は無理かと。
0005HDK-EPRNNGNG
手軽に組めていい。好き。
0006デフォルトの名無しさんNGNG
自分のとこでは一番稼働率が高い。
0007デフォルトの名無しさんNGNG
既にPerl板があるからだと思われ>>1
0008デフォルトの名無しさんNGNG
Perl6で加わる新機能について議論するってのはどう?
http://www.perl.org/perl6/
0009デフォルトの名無しさんNGNG
http://yetanother.org/damian/talks/Perl6.pdf
これのP12にあるこの文でマジ?

<quote>
Offers the possibility to re-examine Perl syntax.
Perl6 could allow programmers to write Perl
programs in multiple syntaxes, such as Python,
JavaScript and Perl5 instead of the Perl6 syntax.
</quote>
0010shigeNGNG
>>1
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
0011デフォルトの名無しさんNGNG
>>1
基地害はほっといて↓でやるのがいいんじゃないか?
http://corn.2ch.net/test/read.cgi?bbs=php&key=991313362
0012デフォルトの名無しさんNGNG
>>5
言うまでもない(w)ことだけど、
手軽というならrubyだって手軽なわけで、
同じ手軽度で汚さを忘れられるなら
rubyのほうがいい、というあっさりした結論が出ると思われ。
0013shigeNGNG
単純な頭を持つと幸せだな。(嘲笑
0014Perl信者NGNG
「プログラマ次第で汚くも美しくもにもなる」
ってのがいいのよ(w
0015デフォルトの名無しさんNGNG
>>13
ねじれた視野を持つと社会に適応できなくてかわいそうだな。
犯罪犯すなよ。
0016デフォルトの名無しさんNGNG
あまりにもヘタレCGIスクリプトが多すぎるな。
001716NGNG
すまん。上げても太。
0018shigeNGNG
          _人
       ノ⌒ 丿
    _/   ::(
   /     :::::::\
   (     :::::::;;;;;;;)_
   \_―― ̄ ̄::::::::::\
   ノ ̄     ::::::::::::::::::::::)
  (     ::::::::::::::;;;;;;;;;;;;人
 / ̄――――― ̄ ̄::::::::\
(        :::::::::::::::::::::::::::::::::)
 \__::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;ノ


あーあー川の流れのーよーにー
0019デフォルトの名無しさんNGNG
つかえねーっていっただろ
はい
しゅーりょー

以後書き込み禁止
上げたやつし寝
0020デフォルトの名無しさんNGNG
終了
0021shigeNGNG
「しゅーりょー」だって
頭悪そう・・・ぷ

perl厨さらしあげ
0022デフォルトの名無しさんNGNG
終了
>>21
死ね。ぼけ
0023デフォルトの名無しさんNGNG
shigeについては
http://tako.2ch.net/test/read.cgi?bbs=perl&key=967998358
の292以降を参照
0024デフォルトの名無しさんNGNG
スレのタイトル見て、ああ居るだろなと思ったら....やっぱり居たか(笑
0025デフォルトの名無しさんNGNG
Perlしか使えない奴って居る?
0026デフォルトの名無しさんNGNG
いない。
0027デフォルトの名無しさんNGNG
perlすら使えないやつって居る?
0028デフォルトの名無しさんNGNG
いる。
0029shigeNGNG
http://yasu.asuka.net/profile.html
↑こいつ気色悪ぅ・・・ぷぷぷ
0030デフォルトの名無しさんNGNG
Perl嫌いでも何でもいいが、Perlを好んで使っているという理由だけで
個人中傷にまで走る奴には呆れてものが言えん。>29
0031デフォルトの名無しさんNGNG
どうでもいいけど、perlとVBって妙にあれるね。
0032デフォルトの名無しさんNGNG
ここでperlについて荒らしてるのは一人だけだと思われ>>31
0033デフォルトの名無しさんNGNG
Perlの暗号っぷりに愛想を尽かして
Rubyに移行しましたが何か?
0034デフォルトの名無しさんNGNG
でも、Rubyは使われてないし、仕事にならないから
Perl仕方なく覚える。
0035デフォルトの名無しさんNGNG
>>33
わざわざ報告することに何の意味が?(プ
0036デフォルトの名無しさんNGNG
Perlにコンプレックス持っている奴の書き込みはミットモナイネ。ヒヒヒヒ
19 には悔しい過去があると思われ。
0037デフォルトの名無しさんNGNG
perlは好きなんだが、汚いCGIスクリプトが大量に出回っているのには萎える。
0038デフォルトの名無しさんNGNG
1ヶ月に1個くらいperlスクリプト書くんだが、
毎回文法ほとんど忘れてしまっててムキー!って感じでごわす。
文法特殊やから探すのどえりゃーめんどいし。

できることは分かってるのに書き方が分からんことほど
ムカツクものはない。
0039デフォルトの名無しさんNGNG
>>36
19=shige
http://piza.2ch.net/test/read.cgi?bbs=tech&key=991515242&ls=50
0040デフォルトの名無しさんNGNG
>>37
クソスレにマジレスするのも何だが、Perlって最も「美しいコード」を書きにくい
言語だと思うがどうか。
0041デフォルトの名無しさんNGNG
Perlなら普通のコード
@data = map { $_->[0] }
    sort { $x = ($a->[$_] <=> $b->[$_] or $a->[$_] cmp $b->[$_] )
        and return $x foreach (1 .. $#$a); -1 }
            map {[$_, split /,/]} @data;
0042デフォルトの名無しさんNGNG
↑こいったの嫌い?
0043デフォルトの名無しさんNGNG
漏れは好き(w
でも嫌いな人も多かろ。
0044shigeNGNG
>>39
全くそのとうりだな、ついでに言うとお前もだな

俺だけだマトモな人間は
0045デフォルトの名無しさんNGNG
コテハンなのは自己主張でしょうか?
0046デフォルトの名無しさんNGNG
>>41
perl使いだが、そういうのを普通のコードというのはやめてほしい。
いくら汚く書けるperlだからといっても、できるだけ綺麗に書くというのがプログラムというもの。
0047デフォルトの名無しさんNGNG
結論:
Perl使いは美的扇子が狂っている

でよろしいか?
0048デフォルトの名無しさんNGNG
結論:
47は言語能力が狂っている

でよろしいか?
0049デフォルトの名無しさんNGNG
>>46
41のをもっと綺麗に書き直すとしたら、どう書き直せばいい?
0050デフォルトの名無しさんNGNG
つか、暗号みたいだ、って言いたいのでは?
0051デフォルトの名無しさんNGNG
他人の書いたPerlソースは読みたくない
0052デフォルトの名無しさんNGNG
perlで書くたびに、schemeとかは文法が simpleで
いいな、と思うよ。
schemeで書くたびに、perlは type数が少なくて...
0053デフォルトの名無しさんNGNG
C や C++ だって十分暗号みたいだと思うんだが、
使用者が多くなればそれが正義になるという
いい見本でしょう。
0054デフォルトの名無しさんNGNG
すまん、Perl使いだが>>41の
return $x foreach (1 ..$#$a);
↑これがわからん…何やってんだ?
0055デフォルトの名無しさんNGNG
>>46
できるだけ綺麗に書こうとするととんでもなく汚いコードが出てくるのがPerl
0056デフォルトの名無しさんNGNG
>>54
http://www.din.or.jp/~ohzaki/perl.htm#SortMulti
005754NGNG
>>56
ぬ、そこの出だったか…未チェックだった(鬱
サンクス!
0058デフォルトの名無しさんNGNG
>1
俺も最初はそう思ってたけどC言語をある程度極めたら
Perlに興味なくなった。
煽りではなくPerlを使ってると頭が悪くなりそうだ。
0059デフォルトの名無しさんNGNG
>>58
ちょっとしたデータ整理にもわざわざCを使うようになったのね。
すばらしい成長ぶりだこと。
0060!58NGNG
>>59
「ちょっとしたデータ」が100MBあったりするとPerl使う気が失せる。
0061デフォルトの名無しさんNGNG
Perlってsed->awk->perlって進化してきたと見ていいのかな。
CとかC++なら変数名や関数名が意味の通る単語の組み合わせに
なってる事が多いわけだけど、Perlのソースって記号の組み合わせ
ばかりで、Perl使いの人ってすごいなあって思う。
0062デフォルトの名無しさんNGNG
記号っていっても、比較的よく使うのは$_, $., $|, $$, $0, $!くらいかな…10個も無いよ?
0063デフォルトの名無しさんNGNG
sprinfとか使うときまだあるだろ
正規表現の時とかにも
0064デフォルトの名無しさんNGNG
つかえねーっていってんだろーが
いいかげんにしろよ
あげんなっていってんだよ
0065デフォルトの名無しさんNGNG
>>60
100MB ぐらいなら平気じゃない? (ものによるが)
1G だったら…まあ、それを「ちょっとしたデータ」とよぶ分野には逝きたくないと思う。
0066shigeNGNG
必死に下げようとしてる馬鹿が居るようだな。ま、その粘着ぶりに免じて下げてやる。

>つかえねーっていってんだろーが
いい加減まともな日本語しゃべれよ。
ま、気にしませんが。
┐(´ー`)┌

>>65
Perlはメモリ効率が凄まじく悪いぞ。-DDEBUGGINGオプション付けて
-Dmでダンプしてみ
006764NGNG
---------------------------------------------------------------
                     終了
---------------------------------------------------------------
0068デフォルトの名無しさんNGNG
>>66
本物ですか?
0069Perl落伍者NGNG
>>62
いっぱいあるよ、まあ、知らないから判らない記号に見えるわけだけど。
あと変数の宣言がいらない言語だからってのもあるかもしれない。単なる
ローカル変数なんだけど組み込み変数か何かに思えたりするし。

http://www.din.or.jp/~ohzaki/perl.htm#Tag_Remove
# $str の中のタグを削除した $result を作る
# $tag_regex と $tag_regex_ は別途参照

$text_regex = q{[^<]*};

$result = '';
while ($str =~ /($text_regex)($tag_regex)?/gso) {
 last if $1 eq '' and $2 eq '';
 $result .= $1;
 $tag_tmp = $2;
 if ($tag_tmp =~ /^<(XMP|PLAINTEXT|SCRIPT)(?![0-9A-Za-z])/i) {
  $str =~ /(.*?)(?:<\/$1(?![0-9A-Za-z])$tag_regex_>|$)/gsi;
  ($text_tmp = $1) =~ s/</</g;
  $text_tmp =~ s/>/>/g;
  $result .= $text_tmp;
 }
}
007062NGNG
そりゃもちろん、全てを網羅しようとすれば10個じゃ収まらないのは承知。
ただ正規表現やprintfのフォーマット指定子はPerl特有のものじゃない(ものも多い)じゃん。
それを言い始めるとCだって記号だらけ、ってことになるよ。
0071デフォルトの名無しさんNGNG
age
0072デフォルトの名無しさんNGNG
sage
0073デフォルトの名無しさんNGNG
age
0074デフォルトの名無しさんNGNG
いいかげん上げんのやめろよ
怒るぞ
ボケ

---------------------------------------------------------------
                     終了
---------------------------------------------------------------
0075デフォルトの名無しさんNGNG
age
0076デフォルトの名無しさんNGNG
Perlのリファレンスマニュアルを探して調べればいいんだろうけど、
.=とか =~ って何?
0077お勧めHPNGNG
みんな知ってんのかな。
http://member.nifty.ne.jp/hippo2000/index.htm
0078デフォルトの名無しさんNGNG
Perl Reference Guide の日本語版が html で公開してあるサイトってないかな
0079デフォルトの名無しさんNGNG
>>76
$str.=$str2;
で$strと$str2を連結。

=~はしらん
0080デフォルトの名無しさんNGNG
>=~はしらん
ネタか?
0081デフォルトの名無しさんNGNG
>>80
?なにが?
0082デフォルトの名無しさんNGNG
$str =~ m/pattern/;
$str =~ s/pattern/replace/;
とかの話?
0083デフォルトの名無しさんNGNG
>>52
schemeがcgiでつかえるようになればなぁ!!
0084デフォルトの名無しさんNGNG
>>83
軽いSCMあたりなら使えるんじゃないか? regexpもあるし。
0085デフォルトの名無しさんNGNG
>>66
Perlがメモリ効率悪いのは知ってるが、今時メモリ1G以上積んでりゃ大抵問題ない。
0086デフォルトの名無しさんNGNG
メモリ効率なんてどうでもいいんだよ。
俺略慣楽。
0087デフォルトの名無しさんNGNG
>>58
 Perl使いは、C++使いとは 違う脳みそで
プログラミングしていると思うよ。
 C++と同じ方法で プログラミングしようとしちゃいけないです。
おいらは、別の脳みそ使っているような感覚に陥るよ。
 複雑に 記号を組み合わせて、複雑な処理が出来たときは、快感に近いものがあるかも・・。
そりゃ、処理は遅いけど、信頼性があるし、サーバーの 1時間に1回動く cron とかなんて、
Cで1秒かかるものが、Perlで3秒かかったとしても気にならない。
Cで1週間かかるものが、1日で作れたりするしな。
0088デフォルトの名無しさんNGNG
>-- Perlがこれほどまでに愛されている理由は何でしょうか。
>Perlは,私が国家安全保障局(NSA,National Seculity Agency)のシステム関係の仕事をしている際,USENETを通じてレ
>ポートを送信する必要に迫られて作成した言語です。当時のawkやsedなどのツールにはなかったファイル操作の機能を持ち
>,シェル・スクリプトのように記述が楽なよう設計しました。その後も必要に合わせて機能を拡張して行くことでPerl言語
>は,まさにglue(糊)のように柔軟に他の言語やツールを組み合わせることができるようになりました。私は言語学者でも
>ありますから,Perlを自然言語のように,5才の子どもでも70才の老人でもそれぞれのレベルに応じて話せる言語として設
>計しています。その辺りが受け入れられたものと考えています。
>
>-- TMTOWTDIゆえということですね。しかし,自由な書き方が許されるため,Perlのプログラムは読みにくいとの批判があ
>りますが…
>
>そう。TMTOWTDI(それには何通りもやり方がある。There's More Than One Way To Do It.)がPerlの最大の特徴です。ユ
>ーザーは,自分の理解した範囲で自分なりの書き方でコードを書くことができます。たとえばPerlもオブジェクトを扱えま
>すが,他の言語のようにオブジェクトの使用を強制されるわけではありません。自然言語と同じ柔軟性を持っています。さ
>て,Perlプログラムが読みにくいとのことですが,私にとっては日本語も読みにくい言語です(笑)。しかし,あなたにと
>ってはそうではない。つまり言語への理解が深くなれば,自然に読めるようになるということです。Perlが読みにくいと批
>判する人たちは,Perlを学んでいないのでしょう(笑)。
どこぞから引用。設計理念が違うのだからCやSchemeと比較するのは意味がないと思われ。
64あたりは学んでいない典型か?(藁
0089デフォルトの名無しさんNGNG
テキストのちょとっとした処理に便利そうだし、
覚えるのも簡単そうだけど、使ってないと忘れそうだねぇ

Widowsで使えるPealのお勉強ページきぼん
0090デフォルトの名無しさんNGNG
>>89
基本はWinでもUnixでも同じなので別にWindowsに拘らなくてもいいと思われ
0091氏ね>89NGNG
http://member.nifty.ne.jp/hippo2000/index.htm
0092デフォルトの名無しさんNGNG
何気にイイ奴だな >91
0093デフォルトの名無しさんNGNG
Spreadsheet::ParseExcel、Spreadsheet::WriteExcel
でUNIXからでもEXCELデータの読み書きができます。
0094デフォルトの名無しさんNGNG
age
0095デフォルトの名無しさんNGNG
あげんなや
ぼけー
0096デフォルトの名無しさんNGNG
perlはワンライナーだけできりゃいいんだ。
0097デフォルトの名無しさんNGNG
>>96
一行レスと掛けてるとか?
0098デフォルトの名無しさんNGNG
system("/usr/bin/yes");
0099デフォルトの名無しさんNGNG
あるディレクトリのファイルをひとつずつ表示するにはどうすればよいんでしょう
これだとまとまってでてしまいます
opendir(DIRHANDLE,"dirName");
foreach($file = readdir(DIRHANDLE) ){
print $file;
}
0100デフォルトの名無しさんNGNG
print "$_\n" while(<*>);
0101デフォルトの名無しさんNGNG
opendir(DIRHANDLE,"dirName");
print "$_\n" while(<*>);
ありがとうございました
これでできちゃうなんて不思議ですね(いい意味で)
0102デフォルトの名無しさんNGNG
>>101
不思議なのはお前の頭
0103デフォルトの名無しさんNGNG
print "$_\n" while(<*>);
で書いた場合は、opendirしなくてよいよ

opendir(DIRHANDLE,"dirName");
foreach($file = readdir(DIRHANDLE) ){
print $file;
}
で書きたい場合は、print "$file\n"; にすればよいだけなのでは?

ちなみに、前者のやつだと、フォルダにたくさんファイルが
あるとメモリくいます。
0104103NGNG
ごめん、やっぱりそうでもないかも
0105rubbish_listerNGNG
>>103
foreachじゃなくてwhileでは?
0106デフォルトの名無しさんNGNG
あげんなっていってんだろーが!
つぎやったら殺すぞ
0107デフォルトの名無しさんNGNG
age
0108デフォルトの名無しさんNGNG
age
0109デフォルトの名無しさんNGNG
>102
すいません。
ご迷惑をおかけしました?
0110デフォルトの名無しさんNGNG
>103
<*>
がファイル入力を行ってるんですね?
0111ひげねこNGNG
 一人で使うんならいいけど、色んな書き方が出来てしまうので
他人のコードの見にくい事が難点。

 基本モジュールが少ないので移植性が低いのも困るっす。

 そんな訳で最近はPython使っとります。
0112デフォルトの名無しさんNGNG
>>110
それはglob。ファイル入力とよく似てるけどちょっと違う。
0113デフォルトの名無しさんNGNG
こんなんがわかりやすいんじゃないか?
メモリがアレだけど

opendir(DIR, $dir_name) || die "Can not open $dir_name";
@file_list = readdir(DIR);
close(DIR);

foreach $file (@file_list) {
  next if ($file eq ".");
  next if ($file eq "..");

  print $file, "\n";
}

ちなみにパスじゃなくてファイル名だけだよ
0114デフォルトの名無しさんNGNG
>>113
同じメモリがアレならgrepとmapを使った方がスキーリするじゃん
use IO::Dir;
map{ print "$_\n" } grep{ not /^\.\.?$/ } IO::Dir->new($dir_name)->read;

見易さを重視するならwhileで回せば良いし。
opendir DIR, $dir_name or die "diropen失敗。ウツダシノウ\n";
while(defined($file = readdir(DIR))){
next if $file =~ /^\.\.?$/;
print "$file\n";
}
closedir DIR;
0115デフォルトの名無しさんNGNG
113さんありがとうございました。
参考にして、あるディレクトリの中のファイルすべてにたいして、
ある条件で置き換えるスクリプトを作ってみました。
これだけでも結構役に立ちそうです。
便利ですね


$dir_name = "resource";

opendir(DIR, $dir_name) || die "Can not open $dir_name";

@file_list = readdir(DIR);
close(DIR);

foreach $file (@file_list) {
@next if ($file eq ".");
@next if ($file eq "..");

open(FILE,"<resource/$file");
open(FILE1,">>resource2/file_copy");
@array = <FILE>;
foreach $tmp1(@array){
$tmp1 =~ s/HTML/XML/g;
print FILE1 $tmp1;
}
close(FILE);
close(FILE1);
}
0116デフォルトの名無しさんNGNG
>>114
効率悪いうえにTypoまである>>113を採用か。

しかもそのその間違いコードを更に写し間違えてちゃ世話ねーよ。最悪だな。

close(DIR)って何やってんだ?
@nextってなんだよ。ヴァカ?

自分だけが使うにはそれでもいいが、間違ってもスクリプト配布しようなんて考えるなよ。
0117デフォルトの名無しさんNGNG
同感。
0118103NGNG
みんなきびしいのお。

おれは、半年前の自分を見ているようできつく言えん。
0119デフォルトの名無しさんNGNG
わかってないな。愛の鞭なんだよ。
>>116だってちゃんと悪いとこ指摘してるだろ?
0120113NGNG
うおっ!closedirが・・・。全面的に僕のミスです、
すんません(涙 うっかりこれやっちゃうんだよな。
よくopendirも間違えるし。

ところで >>113 は、メモリも無駄に食うし、
全ファイルに対して、1ファイルごとに2回if実行
するから効率的に最悪だってことはわかってる。
代わりにわかり易く書いたつもりなんだが。
(closedirはもう勘弁して)

でも、まだ効率を考えるレベルじゃないでしょ。
モジュールも使えないだろうし、mapもわからんだろう。
ヴァカ?とか言うぐらいなら教えなければいいのでは?
愛の鞭には見えないよ。まあ確かにこういうコードを
サーバー上で動かして欲しくは無いけどさ
0121デフォルトの名無しさんNGNG
age
0122115NGNG
皆様ありがとうございました。
114さんのコードはスクリプト書き終わった後でしりました。
参考にさせていただきます。
116さん
言葉はきついかもしれませんが、間違いを指摘していただき
感謝です!

CGIに使う予定はなく、もっぱら自分のテキストの手直し
のために勉強してます。
今日でPerl2日目。
使いたいときにサクッとスクリプトかけるよう頑張ります!
0123デフォルトの名無しさんNGNG
> opendir DIR, $dir_name or die "diropen失敗。ウツダシノウ\n";
わらった。
0124デフォルトの名無しさんNGNG
115程度なら sed と sh で十分な気がする。
%rep.sh word1 word2
-----
#!/bin/sh
for i in `ls ./src`; do
if [ -f $i ]; then
sed -e "s/$1/$2/" $i > ./dest/$i
fi
done
0125デフォルトの名無しさんNGNG
ところで、rubyってどうなの?
日本人が作ってるんだよね。たしか。

現状では普及率良くないけど、今後はどうなりそう?
もしよさげな方向に向かう可能性があるなら、
ちょっと覚えおきたいんだけど。

ちなみに、今 Rexx 勉強中(死)
0126デフォルトの名無しさんNGNG
rubyスレがあるから、そこで。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=987231068
0127デフォルトの名無しさんNGNG
>>126
さんくす。
どうも、ざらざらっと眺めてみた。
どうもwindows上で使うには、あまり好意的な言語ではないみたいだな。
0128デフォルトの名無しさんNGNG
>>127
ま、少なくともポトペタではないな。
0129デフォルトの名無しさんNGNG
age
0130デフォルトの名無しさんNGNG
age
0131デフォルトの名無しさんNGNG
Perl6期待age。汚名返上なるか?
0132デフォルトの名無しさんNGNG
>131
無理だって
0133デフォルトの名無しさんNGNG
Perlの汚点って?
読みづらいって事?

Perl初心者が書いたソースコードは見づらいけれど、
ある程度こなれたソースなら読み易いけどなぁ。
0134デフォルトの名無しさんNGNG
へたくそが書きゃあなんだってみづらいしな。
「なんでもあり」がPerlなんだからさ、むしろ、それを汚点と考えてる
ようじゃ青いのよ、たぶん。

PythonだのRubyだのが「ボクのほうがどう見ても、フフン、洗練され
てますよ」とか言ってるとしたら
「お、威勢がいいねえアンちゃん、じゃ、それもいただこ!ま、座って
飲めや。な?」
と鷹揚に構えているのがPerlではないかと。

Perl6ではよりさらに、そのなんでもあり状態つまり汚点を極めていってもらいたい。
0135デフォルトの名無しさんNGNG
日本語のオンラインリファレンスってどこ?
0136デフォルトの名無しさんNGNG
パール最高!!
0137デフォルトの名無しさんNGNG
>>134
激しく同意。
>>135
http://www.perl.com/pub/v/documentation
日本語
http://www.kt.rim.or.jp/%7ekbk/perl5.005/index.html
0138デフォルトの名無しさんNGNG
・ちょこちょこっとテストデータ作ったり
・ちょっとしたバッチ処理書いたり
・項目 = 値 なコードを20個ぐらい書かなきゃいけないとき

Perlは大事なお友達です。
0139デフォルトの名無しさんNGNG
>>134
ええこと言うなァ
自分もそう思いまっせ。
0140デフォルトの名無しさんNGNG
あれは駄目、これは駄目、融通の効かない石頭が
Perlを批判する。大人は自らの責任において自由を満喫せよ。
0141デフォルトの名無しさんNGNG
>「お、威勢がいいねえアンちゃん、じゃ、それもいただこ!ま、座って
>飲めや。な?」
>と鷹揚に構えているのがPerlではないかと。

一緒に飲んだりしたら、まぢ、病気になっちゃう。さよなら。
…と、結構冗談抜きに思っているけどな俺。

悪いものを悪いと言わない/判らない奴のほうが、
よほど頭かたいと思えるのだが、どうよ。

老いては子に従えってゆーだろ?(藁
0142デフォルトの名無しさんNGNG
お、融通の効かねえトッチャンボウヤの登場だよ。

> 悪いものを悪いと言わない/判らない奴のほうが、

んなこたぁボウズに言われなくたってわかってんだよ(藁
おれたちゃ確信犯だっつってるだろ。いまさらなに言ってんだ。
若いうちから脳がずいぶん硬化しとるのう。ちょっとの挫折で
すぐ自殺しそうだ。

> 老いては子に従えってゆーだろ?
もなあ。だから従うってばさ。use syntax 'Python'とかしちゃうよ?

ほらほら、こんなじじいのやってることマネしてるばかりじゃなくて、
そろそろ自分で考えて行動してくれんかのう。もう子供じゃないんだから。
ギブアンドテイクだべ。こんどはこっちがパクるからさ。ネタ出しキボーン。

> 一緒に飲んだりしたら、まぢ、病気になっちゃう。さよなら。

お、帰っちゃうの?なんでぇ、ノリが悪いニイちゃんだなあ。
ま、いいや、さいなら。またな。こんななんでもありの2chより
もっと綺麗で上品で清潔でおしゃーれなサイトのほうが向いてる
んだろうな、アンちゃんには。残念だがしょうがねえ。おともだちに
よろしくな。
0143デフォルトの名無しさんNGNG
> 老いては子に従えってゆーだろ?
字引を見てから物を言いな。坊ちゃん。
0144じじいNGNG
もっと労ってくれてもいいのにのう。
0145デフォルトの名無しさんNGNG
なんとなく…
PC初心者に、Windowsの操作方法を教える時の感覚を思い出しました。

ファイルをコピーするにしても、色々やり方があるじゃないですか。
DOS窓でcopyコマンドでも、D&Dでも、編集→コピー→貼りつけでも出来る。
また、コピー→貼りつけをするにあたっても、
右クリックメニューから、エクスプローラウインドウのメニューから…

それを全部教えると、初心者は頭爆発しますよね。どれ使ったらいいんだと。
かっちりしたマニュアル・手順が無いとパニクっちゃう。

Perlもそれに似たところがあるかなと。
初心者は、「どのやり方でやったらいいんだ」と混乱する。
また、少し慣れてくると、人によっては、
「このやり方(記述)以外はおかしい、美しくない」と思い込む。

正直どれでもいいんですよね、求める処理が実現できれば。

ラクダ本の後ろを見ると、様々な立場の人によって
有用になるであろうPerl利用の心がけが列挙されてますけど。
かなりの数の矛盾が平気で書かれてる。
どんな立場・視点かで、最適解はがらりと変わることを、
あの本の作者は理解してるわけで…
Perlを使ってる人は、全てを一旦肯定し、
その中から自分にあったやり方を、自ら選んでくことを
絶えず要求されるわけです。

そのあたりが、
「誰かの作ったマニュアル・手順がなきゃダメだ」
「オールマイティに通用する『絶対』『〜べき』は必ず存在するべきだ」
と信念を持ってる人達には、非常に絶えがたいのでしょう。
0146デフォルトの名無しさんNGNG
まあ、たしかにまったくのプログラミング未経験者にperlを
勧めるのはあまり感心できないな。
0147デフォルトの名無しさんNGNG
perl -e "xxxx"
はよく使うが。
$| = 1;
でディスクフルになってもスクリプトからは判断できない。
よって、漏れ的にはクリティカルな場面では、使い物にはならない。
0148デフォルトの名無しさんNGNG
>>146
そういう意見もたしかにありますね。
切れすぎる刃物を持たせるのはどうか、という話も。
初心者には安全剃刀だか電動髭剃りだか、もうちょっと
制約があったほうがいいかも。
0149デフォルトの名無しさんNGNG
>>147
そういうときって、printが0返すんだよね?
まあ、かといってprintしてるところにいちいち全部or die付ける
のもナンだけどね。
あ、でもクリティカルな場面ならそれもありかもな。
0150デフォルトの名無しさんNGNG
>>149
速度稼ぐためにバッファリングしてprint、これは掃き出すまではノーエラー。
フラッシュするために$|=1,これは代入なのでたとえディスクフルでも戻り値は1。
エラーは検出できない。
0151デフォルトの名無しさんNGNG
XSからPerlIO_flush()呼べばいいだけ。
IOモジュールにflush()ってあるだろ。
0152デフォルトの名無しさんNGNG
>>149
>printが0返すんだよね?
返ってくるのは ""
数値コンテキストではIV()内の(sv_iv,sv_2iv)で数値に変換されて
たまたま0になる。
0153デフォルトの名無しさんNGNG
>>152
そうでしたか。ひとつまた知りました。どうもです。
>>150
もしかして毎回、printしたあとにフラッシュしてるつもりで$|=1やってんの?
あれはopenしたファイルハンドラにあらかじめ一発設定するもんでしょ?
select((select(FILE), $|=1)[0]);
が定石では?あるいはFileHandleつかって
$fh->autoflush;
こうしておけばそのファイルハンドルにprintしてもバッファリング
しないよ。んで各printにor die。おれ、なんか勘違いしてるかな?
0154デフォルトの名無しさんNGNG
printは一回一回$|の値を参照して掃き出すか決める。
書き出しはIOモジュールでflush()使うか、
標準パッケージに付いてくる flush.pl を見ればいい。

・・・ってのは全部初心者質問スレで最近読んだ話。
http://corn.2ch.net/test/read.cgi?bbs=php&key=988728069
0155デフォルトの名無しさんNGNG
perlからCの関数呼べる?あとDLLも。
0156デフォルトの名無しさんNGNG
IOってfsync出来る?
そんなら147撤回しる。
0157デフォルトの名無しさんNGNG
>>154
たしかにprintは呼ばれるたびに$|を参照するが、別にその値が
リセットされるわけじゃないので、最初に一回$|=1を実行すれば良い。

まあflush.plでもいいだろうが、あれはソース見ればわかるけど
フラッシュしたあと$|=0で戻してんだよね。古いPerlへの互換性か
なにかのために使う以外は別に率先して使わなくてもいいんじゃないか。
flushするなら、FileHandle使うのが楽でいいと思う。結局IO::Handle
継承してるんだけど。
0158デフォルトの名無しさんNGNG
Win32:OLEって誰か使っている人います?
0159デフォルトの名無しさんNGNG
>>155
できる。XSとかWin32::APIを調べてみるとか。(perlxstut perlxs perlguts)
例: http://member.nifty.ne.jp/hippo2000/perltips/perllha.htm
0160デフォルトの名無しさんNGNG
perldoc IO::Handleより。

$io->sync
`sync' synchronizes a file's in-memory state with
that on the physical medium. `sync' does not operate
at the perlio api level, but operates on the file
descriptor, this means that any data held at the
perlio api level will not be synchronized. To
synchronize data that is buffered at the perlio api
level you must use the flush method. `sync' is not
implemented on all platforms. See fsync(3c).

だそうでしゅ。
0161デフォルトの名無しさんNGNG
>>155
XSが難しいぜ、という声にお答えして、最近はInline.pm
なんてものが。
http://www.perl.com/pub/2001/02/inline.html

ざっと例だけながめてもなんとなくわかるかも。
use Inline C => <<'END_C';
void greet() {
printf("Hello, world\n");
}
END_C

greet;

Perlのソースの中にC言語のソースをそのまま書いちゃえば
いいじゃん、という発想。Perl6でも採り入れられる可能性大。
どうでえ、汚えだろわっはっは、ざまあみろぃ。
0162デフォルトの名無しさんNGNG
>>152
速度稼ぐためにバッファリングはしたいのよ。
んでもって、確実に掃き出したいと...
$| = 1は内部でfflush呼ぶけど、エラーチェックしてないというのが、ココロだったんだけど
IO使うからいいや。
0163デフォルトの名無しさんNGNG
>>161
それ最高(w
0164デフォルトの名無しさんNGNG
>>161
もはや言語じゃなくて汚物だね。
0165デフォルトの名無しさんNGNG
>>161
ますますもってperlがものぐさな言語となってゆきますな。
ポインタとかどう実装するか、かなり期待できそうでマル。
0166デフォルトの名無しさんNGNG
>>161
最低だけど最高
0167デフォルトの名無しさんNGNG
>>161 すげえ... 俺は感動した。
0168デフォルトの名無しさんNGNG
適当に使いて〜
0169デフォルトの名無しさんNGNG
>>161
それってどうやって実行されるの?
まさか実行するたびにCがコンパイルされるの…?
0170デフォルトの名無しさんNGNG
Perlって2ちゃんねるに似てると思った。
0171デフォルトの名無しさんNGNG
>>169
ご想像どおり、最初に実行するとき一回だけコンパイラが走る。次回からは
当然コンパイル済みのコードを参照するのでコンパイルしません。

WindowsだとVC++とかが当然必要。でも、XSでC言語のプログラムを呼び出して
るモジュールを使うのと結果的には同じだね。
モジュールインストール時にコンパイルしてもらうか、あるいはActivePerlな
らコンパイル済みのものをインストールしてもらうでしょ。ああいったかんじで。

http://search.cpan.org/doc/INGY/Inline-0.42/Inline.pod
The Inline code only gets compiled the first time you run it (or
whenever it is modified) so you only take the performance hit
once. Code that is Inlined into distributed modules (like on the CPAN)
will get compiled when the module is installed, so the end user will
never notice the compilation time.

それから、Cだけじゃないのよ。いまのところサポートしてるのは
C++、Java、Python、Tcl、Assembly
で、今年中になんとかしたいと思ってるのはFortran、Ruby、Lisp、Guile、
Bash、Perl4とのこと。
「グルー言語」の面目躍如ですな。だからさ、「Rubyだとこう書けるのに」とか、
「Javaでないと」そんなこと言われてもオッケーなのよ。だったらそれも書いちゃ
えばいいんだから。んで、全体的にはPerlでざくざく。
0172デフォルトの名無しさんNGNG
うを、、無茶苦茶だが最高だよコリャ(藁
Perlマンセー!ラリーマンセー!
0173えびNGNG
Perl1年生のebiです。
私はまったくのプロブラミング初心者状態からPerlをはじめました
そして最近C言語も勉強しだしたのですが
Perl→Cに移った感想としては
転校した先の学校の校則が以前の学校より厳しい。
って感じの状態です(わかりずらいかなぁ…)
ん〜 順番的にPerl→Cではなくて
C→Perlの方が良かったのですかね…
0174デフォルトの名無しさんNGNG
Perl with Assembly・・・
かっこよすぎ(w
0175デフォルトの名無しさんNGNG
Cのインラインアセンブラどころじゃないなこりゃ・・・
0176デフォルトの名無しさんNGNG
そこまでしてPerlなんか使いたくないなあ。
どうせ業務じゃそんなん使えなさそうだし。
0177デフォルトの名無しさんNGNG
業務で一時的に使うツールに最適だと思うんだけど。
0178デフォルトの名無しさんNGNG
それって、
configureみたいに「必要なときに必要なCソースを吐く」仕掛けと
makeみたいに「必要なときしか処理
(ここではCソース吐きとコンパイル)をしない」仕掛けを
作ってあるよ、ということだよね。

それなら同じ事はrubyとかでも当然のように出来る(藁
というわけで、「それのためにperlを使う」理由は、無いな。
0179デフォルトの名無しさんNGNG
↑これだからruby信者は…
0180デフォルトの名無しさんNGNG
>>178
お勘違い様がおムキになっていらっしゃると思われ。
0181デフォルトの名無しさんNGNG
どうもshigeはruby使いの例外ではないようだね。(藁
みっともない。
0182デフォルトの名無しさんNGNG
ruby使いって、何時まで経っても「~はrubyでもできる」って
言いに来ずにはいられない辺りが哀れだな。(誰もお呼びでないのに)

ま、気にしませんが。
0183デフォルトの名無しさんNGNG
shigeといいコイツといい、ウザイ。
0184デフォルトの名無しさんNGNG
使い捨てツールにいちいちrubyで「クラス作って・・・」
なんてやってらんねーよ
何も考えないでも思ったまま逝けるからperlがいいんだよ
かなり実績もあるからな。
0185デフォルトの名無しさんNGNG
>>184
いや別にクラス作るのに頭使わないし。
0186デフォルトの名無しさんNGNG
黙って笑いものにしててもいいんだが…。
>>178
Inlineがなくたって、RubyにできるこたあPerlにだってできるわな。
それはわかるよね?
Inline.pmの最高にバカで最低にカッコイイところは、それが
ソースレベルで混ぜられることよ。あの例でもわかる通り、結局
文字列与えりゃいいんだから、$valueとかだって混ぜられるよね。
正規表現だのでそのCのソース部分合成したり編集したり、なーんでも
できるよね。
それはわかるよね?

んでさ、そういうまぜこぜって、Rubyでできんの?っつーことよ。
そりゃやればできるのはわかってんだよ。だけどね、それやったら
あーたたちの大っ嫌いなPerlと変わんないじゃん。

要するに「PerlにできることはなんでもRubyでもできる」と勘違いしてる
かもしれないけどさ、実際には
「できるけど…やっちゃったらRubyじゃない…」
ってこと、いっぱいあんでしょ、ってことよ。

いま、あーたにできることといったら、採れないブドウはすっぱいすっぱい
って遠くから遠吠えするぐらいなんだからさ、「そんな汚いことできません
よボクは。べ、べつにそんなのできなくても、へ、平気だし」とかなんとか
さえずってればいいんだよ。ほれ、叫べ叫べ。
0187デフォルトの名無しさんNGNG
>>185
頭使わずにクラス作ってマトモなものができるか?
0188デフォルトの名無しさんNGNG
>>187
できんだよ、きっと。ぜ〜んぜん考えなくてもさ。
もちろん「別にマトモなものじゃなくたってかまわねえんだぜ」
なんてPerlみたいなことは言わないよ。
すげえ言語だもんなRuby様は。ああ、Rubyまんせえー、っと。
は〜あ。ほら、これで満足したかい?じゃ帰れ。
0189デフォルトの名無しさんNGNG
>>187
使い捨てツール作る分にはね。
さすがにワンライナーでクラスは作らないけど。
0190デフォルトの名無しさんNGNG
>>188
んな煽りするならPerlのshigeと呼ぶぞ。
0191デフォルトの名無しさんNGNG
>>186
仕組みとしてCソース部分をダイナミックに与えられるの?
やっちゃったらそれこそ毎回コンパイルが必要じゃない?

でも言いたいことはわかる。汚いのがダメと批判してるん
だから、当然汚いことはマネできないわな。
0192デフォルトの名無しさんNGNG
こうなると糊(gule)っつうか台紙だな。
何でもPerlの中でやることもないのに、と思う。
非UNIX主義的だ。
0193デフォルトの名無しさんNGNG
ここまでやるんなら文法破綻しない範囲で
むちゃくちゃ綺麗に書ける第2の文法を
ぶち込んで欲しいかも。
0194Perl使いじゃないけどNGNG
台紙っつか、鍋だな。
ごった煮主義。
ラリーさんかっこいい。
0195デフォルトの名無しさんNGNG
ここまできたら、ついでにPerlの中にApache、Sendmail、
tomcatとか入れといてくれ。あっ、viとemacsも頼むよ
0196デフォルトの名無しさんNGNG
>>192
UNIX使いは何でもオキニのツールから処理したいのよ。
emacsなんてその典型。
0197デフォルトの名無しさんNGNG
>>196
それって実はUNIX人が座右の銘としているツールボックスアプローチとかいうのの
正反対じゃない?
0198デフォルトの名無しさんNGNG
>>197
全くその通りだね。
コマンドラインはツールボックスアプローチが効果的だけど、
emacsだけは違うって感じ。
ちと極端すぎる例だったよな。スマンコ。
俺はemacsから抜けられなくてLISPを勉強したクチなので、
自分自身を揶揄する意味でああいう風に書いたのよ。
一UNIXユーザーとしては本音と建て前が違うような気もするが、
根底を流れる思想としては「便利に使えりゃなんでもええやん」
というのがあるような気もする。
0199デフォルトの名無しさんNGNG
しかし、>>161にはびっくりしたなぁ。
いや、良い意味でね。
0200デフォルトの名無しさんNGNG
>>161みたいな思想はlispが最初だよね。
eval持ってる言語の強みだけど
0201デフォルトの名無しさんNGNG
でも、161の例は引数や戻り値がvoidだからいいが、
変な型だったらどうするんだ?
Perlにポインタとかないだろ?
0202デフォルトの名無しさんNGNG
>>186
>「できるけど…やっちゃったらRubyじゃない…」

そういう牽制の有効範囲がコンピューティングの「全体」をカバーしている
と思いこみたがる辺りが、きたない言語好きな奴の痛いところだな。

というかそもそもそのInlineって「きたない」のか?
(きたないことにしとけば何でもRubyと差別化できると思いこんでると思われ。

うーん。Inlineを実現するClassとかって
rubyで出来るんじゃねーのか?

Cソースを文字列として合成して吐き出し、なんて程度のことも
出来ないようなら、RubyつまりPerl++(藁)なんて名乗るわけねーべや。
文字列の+演算子による結合とか、文字列以外のものはto_sメソッドで文字列化
するとか、その程度はソレ系Script言語ならあたりまえだろ?

つまり、同じようなことを、もーちっと綺麗にやれるわけよな。
このへん、わかる?
なに?きみの言う「きたなさ」ってのは、たかがそんな程度のことを
指しているのかぃ?おーい気は確かか?


>>187
たしかに無理。だが、Classじゃなくても頭使わなければ破綻するべ。
まさか汚い言語なら頭使わずとも書けるなどとドキュなこと言う人は居ないよな?

というか方向次第だな。Class作るほうが作らないより
却って楽になる場合もあるぞ。状態がぐちゃぐちゃしてるときなんかは
Class使ったほうがすっきりする、つまり考えるべきことが減る。
状態ベースのプログラミングならClass使うほうが楽。
これはプログラムの長さにはあんまり依存しないと思うなあ。

>>198
きたなくて書きにくい読みにくいのは既に「不便」です。
ましてほぼ丸々そのまま汚さだけ解消したモノがあるなら
行くべき先は言うまでもなし。
0203デフォルトの名無しさんNGNG
よっぽど頭にきたんだな(藁
朝っぱらから電波ごくろーさん。
0204デフォルトの名無しさんNGNG
 
0205デフォルトの名無しさんNGNG
>文字列の+演算子による結合とか、
>文字列以外のものはto_sメソッドで文字列化するとか、
>その程度はソレ系Script言語ならあたりまえだろ?
当たり前。つか、何の話だコレ。
0206デフォルトの名無しさんNGNG
新しく生まれ変わるPerl、
Perl6についてなんでもいいから語れ。
0207shigeNGNG
Perl使いは糞虫。
汚らしいものをこね回して汚らしいものを作り上げることしか脳がない。

溶かして石鹸にでもした方がよっぽど有益なんだよ。

いいから早く死にな。

死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死
0208デフォルトの名無しさんNGNG
shigeみたいな基地害ruby使いに邪魔されたくなかったら
WebProg(閑古鳥)板の↓で話をするとか。

CGIに依存しないPerlの話題一般
http://corn.2ch.net/test/read.cgi?bbs=php&key=991313362
0209208NGNG
つか、ネタがないので、↑のスレにも来て欲しいなあ、と。
0210shigeNGNG
>208
そっちも嫌になるくらい荒らしまくってやるからな。(ヒ
糞へたれPerl使いの迷惑そうな顔が目に浮かんで楽しいよ。

Perl使い = 人生の敗者

常識です。
0211shigeNGNG
何度でも言う。Perl使う糞野郎は死ね。

糞虫みたいに糞をこねて糞にまみれて一生を終えるんだな。

おまえらにはそれがお似合いだ。
0212デフォルトの名無しさんNGNG
※危険です※
あらしには何を言っても無駄です。レスしないように!!
0213デフォルトの名無しさんNGNG
>そっちも嫌になるくらい荒らしまくってやるからな。(ヒ
ププ
0214ババNGNG
糞虫ってどんな虫?
0215デフォルトの名無しさんNGNG
俺はに曖昧で複雑怪奇な日本語の如くPerlに完全に慣れてるから、
Rubyは綺麗だろうがエスペラントのようにどうでもいいんだよ。
とっとと出て行ってくれ。

っていうか、Rubyを使って「同じ人種に見られたくない」って感じ。
0216デフォルトの名無しさんNGNG
>>202
そういうあんたの文章、汚い。
リファクタリングよろしく。
0217デフォルトの名無しさんNGNG
しかしデル厨とルビ厨にはろくな奴がいないなぁ・・・
0218デフォルトの名無しさんNGNG
>>217
なるほど
C++とDelの関係はPerlとRubyの関係に似てるね
0219デフォルトの名無しさんNGNG
オレの意見では Ruby = VB だ。
0220デフォルトの名無しさんNGNG
>>217
DelもRubyもメジャー言語のアンチテーゼな位置付けにあるからそんな奴が出てくるんだろう。
作った本人はどういうつもりだったのかは知らないけど。
0221デフォルトの名無しさんNGNG
ゲキ笑いだね、その「インラインC」。
おれ、こーゆーの、大好き。マンセー。
リンク先のタイトル、「病的に汚染されたパール」だってさ。
ヒヒヒ。最高。

どうでもいいんだけどさ、
いま、HTTPDをパールで書こう!っておもってんだけど、どおよ。
あんなの、tcpつかったファイル転送だけなんだから、
案外、アパッチと変わんない性能が出たらゲキ笑うな。
0222shigeNGNG
Perl使いって蛆虫に似てるね。
糞の中に住み、糞を食らい、そしてその糞の中を天国だと思ってる。

馬鹿ですね。(わらい
0223デフォルトの名無しさんNGNG
いえーい。クソでーす。マンせー
0224デフォルトの名無しさんNGNG
>>221
俺作ったことあるよ。
最低限の機能でいいなら簡単に作れる。
0225デフォルトの名無しさんNGNG
そのHTTPDのパフォーマンスはどおでしたか?
0226Perl初心者NGNG
Rubyを持ち上げてる人にお聞きしたいんですが、
Perl→Rubyに移行することによって生まれるメリット・デメリットって
そんなものがあるんでしょうか。
どうもそのへんが今一つよくわからないんで、
後学の為に教えていただければ嬉しいです。
当方、なんとなくRubyにも興味はあるんですが、
そのへんがまだ見えなくて、今一つ勉強する気にならないんですよね…
ここは一つ、信者獲得の絶好のチャンス(笑)と思って教えてください(^^;

Perl、及びPerlユーザを否定するカキコを繰り返してる方にも
質問したいのですが…
Perlを否定するということは、おそらくその方の中には、
「代わりにこれを使えばいいじゃん?」
という案も既に存在しているのではないかと思います。
もしよろしければ、その代案の内容…
メリット・デメリットも含めて、一つ聞かせて頂けないでしょうか。
単なる煽りをしてるわけではないのなら、僅かながらでも
何らかの具体的提言・提案を容易に出来るはず、と思うのですが。
いかがですか?
0227Perl初心者NGNG
訂正:
そんなものが→どんなものが
0228デフォルトの名無しさんNGNG
rubyスレで聞けば一発じゃないのか?
http://piza.2ch.net/test/read.cgi?bbs=tech&key=987231068
0229Perl初心者NGNG
>>228
いや、個人的な興味とはまた別に、
このスレッドで、Perlに対して否定的立場を取るにあたって
せめてそのへんを明確にしといたほうが話が弾むんじゃないか、
というのもありまして。
たぶん、一人一人の認識してるメリット・デメリットには
違いがあると思うんですよ。
そこから認識を共通にしてみないと、話が噛み合わない気が。

それと、なんだか、単なる印象だけ振り回して
否定してる方が見られるんで…
もう少し具体的な意見・明確な否定要因を出したほうが
説得力が出る→議論が盛り上がるんじゃないかなと。

でも、そのスレッドもこれから読んでみますね。
ありがとうです。
0230gesiNGNG
ruby使いって蛆虫に似てるね。
糞の中に住み、糞を食らい、そしてその糞の中を天国だと思ってる。

馬鹿ですね。(わらい
0231Ruby概論NGNG
Ruby信者から得られるRubyの情報といえば、
オブジェクト指向とか「綺麗」とかその程度。
既にPerlを習得した人にとってはメリットゼロ。

一方、解りやすいと喧伝してる癖にUNIX以外には冷たく、
ちょっとでも「汚い」コードを書くとすぐに信者から糾弾されそうな窮屈言語。
多くの初心者もとっつきづらい。
結局、「Perlが嫌い/できない」という「マニア/石頭」向けの、Perlのアンチテーゼとしてしか
存在価値が無い。

まあ、Perlが合わなかったらチャレンジすればいいんじゃないの。
使える場面が少なくて不便だろうけど。
0232デフォルトの名無しさんNGNG
昔、日蓮って人がいたのね。辻説法とかいって既存の宗派をなにかっつーとケナし
まくったの。相当ウザかったんだけど、まあ新興宗教が成り上がるにはしょうが
なかったのかもね。
でさ、そう散々他のはダメだなんだって言っておきながら、そのキモの
お題目「南無妙法蓮華経」は、天台宗が使う「妙法蓮華経」と浄土宗の「南無
阿弥陀仏」のパクりだったりしたんだけど。元のより冗長になってるところがミソね。
開祖からしてもうこんな厨房だったから、その信者も一揆は起こすわ相変わら
ず他人に喧嘩吹っかけるわで、要するに荒らしなのよ。なんとか学会とか、
まあちょっと刺激すると荒れまくるのは同じよね。
ま、日蓮さんはいろいろ宣伝というか威嚇というかしまくったんだけど、結局
は残念ながらやっぱり日本は滅びなくてさ、 今もみんな初詣とクリスマスと彼岸参り
気にせずやっちゃってるわけよ。

昔、まつもとゆきひろって人がいたのね。呼んでもいないのに勝手にいろんな
スレに顔出してきては、自分で作ったんだかなんだかの言語持ち出して
「こんな風に書けます」とかおっぱじめるわけ。相当ウザかったんだけど、
まあ新興言語が成り上がるにはしょうがなかったのかもね。
でさ…(以下略)
0233shigeNGNG
あっちでやりな。でないとスレッドごと削除依頼出すぞ。
http://corn.2ch.net/test/read.cgi?bbs=php&key=991313362
0234デフォルトの名無しさんNGNG
>233
(゚Д゚)ハァ そんな一人よがりな依頼が受理されると思ってんの?(w
0235デフォルトの名無しさんNGNG
これだからルビ厨は困るな。
0236shigeNGNG
パーラーに人権はありません。
殺しても無罪です。早く駆除しましょう。
この度、政府が日本中のパーラーを集め強制収容所に入れる事に
なりました。
集められたパーラーは生殖器を除去されるかガス室送りになります。
日本に悪い血を残さない為です。
0237デフォルトの名無しさんNGNG
このshigeって本物? 騙りとしても相当しつこいね。
0238デフォルトの名無しさんNGNG
「ルビ厨」ってのは新用語か?
0239いわゆるruby厨の一人NGNG
>>231
他は好みの問題として大目に見てもいいが、

>多くの初心者もとっつきづらい。

この主張は意味というか価値が不明だな。
どこがとっつきづらいんだ?

そういう意味ではPerlのほうがよっぽど駄目だと思うが?
それが証拠に俺はPerlは門前で逃げたもん(ぷ
Rubyのほうが簡単だよー

それともVBみたいに既存書籍(時としてドキュ本)の数で競う気か?
#まぁrubyの本もヨイとは言い難いものが”多い(わら)”けど。
あるいはどっちも始めてない初心者へのFUD攻撃か?
ダマされちゃ駄目だよー

>>232
面白い話だとは思うし、間違ってない喩えだと
思える面も多いが、1つ重大な穴があるね。

つまりだ。rubyってどこが冗長なんだ?
却ってPerlより冗長じゃない感じがするのだが?
いらねー記号とかあんまり無いしさぁ。

#ところで、スレなのか?NGだと思うのだが?
0240デフォルトの名無しさんNGNG
自分は別にウザく感じなかったな。
Perlも昔同じようなことやってたし。

糞嫌みったらしいruby厨の方がよっぽど印象を悪い。
0241shigeNGNG
己の醜さに
  たらーり
    たらーり
      汗を流すのでございます。
0242デフォルトの名無しさんNGNG
ここはperlスレなんでrubyの宣伝はrubyスレでやってください>shige
0243誘導NGNG
CGIに依存しないPerlの話題一般
http://corn.2ch.net/test/read.cgi?bbs=php&key=991313362
0244デフォルトの名無しさんNGNG
べつにここでいいじゃん>243
0245243NGNG
その通りなんだけれど、
もっと落ち着いて話が出来るといいな、と思って。
0246デフォルトの名無しさんNGNG
shigeを出禁にすればいいだけだろ>245
0247デフォルトの名無しさんNGNG
どうやって?
0248デフォルトの名無しさんNGNG
>>247
shige氏んでください、と願懸けする。
0249デフォルトの名無しさんNGNG
shigeが死んだ!
この突然もたらされた吉報は(以下略
0250デフォルトの名無しさんNGNG
半分Perl用の板があるんだからそっち逝けよ。(webprog板)
うざい。
中途半端な言語のくせにスレッド立てるな白痴ども
0251デフォルトの名無しさんNGNG
250=shige
0252デフォルトの名無しさんNGNG
       _""      / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄    " "  ""."..
      ",__     | shigeが不幸せになりますように……。
      /  ./\    \____________________
    /  ./( ・ ).\  "     o〇         | ||  |];;;"ヾ;ヾ;"
  /_____/ .(´ー`) ,\   ∧∧           || ||  ];
   ̄|| || || ||. |っ¢..||    (,,  ,)   "      | |   \]|“
    || || || ||./,,, |ゝ||ii~   ⊂  ヾwwwjj从jwww| | |  ]||wwjwwjw"wwwwwww
    | ̄ ̄ ̄|~~凸( ̄)凸 .(パーラー)〜w从jwwj/ 人 /\]\jwjjrjwjjrj从jrjwjjrj从jrjwjjrj从
0253デフォルトの名無しさんNGNG
これ読むと平面的に組み込み機能を増やすアプローチは時代遅れに思えるね。
ttp://www2.pos.to/~tosh/ruby/diary/2001/05/c.html#day30
0254デフォルトの名無しさんNGNG
>>253
そこ見るとrubyの作者はlisp系言語知らないみたいだね。意外だった。
これから勉強するとか言ってるけど。
0255デフォルトの名無しさんNGNG
それ作者のページか?>254
0256デフォルトの名無しさんNGNG
>>254
彼はrubyの作者じゃないぞ。
0257デフォルトの名無しさんNGNG
Perlって言語なのかな。
自分としては、ツールって感じがするんですけど。
言語っていうと、体系だった美しいもの、ってイメージがあるんですが。
そういう概念は全然似合わない…むしろ自分から「お断り」してる印象が。

日本語で言えば、「ナウい」とか、「チョベリグ」「チョバリバ」とか、
そういう類のモノじゃないかな。
その手の言葉って、日本語の美しさうんぬんって立場で見たら、
評価することすら忌み嫌われますよね。
知らない人が聞いたら、ソレ宇宙語ですか?みたいな。
でも、それを知ってる者同士なら、ポッと出しただけで即座に意味が伝わる…
冗長な単語を並べていくより、ある意味実利的な面もある。

Perlってのは、コンピュータ言語で言えば、
そのへんに位置するんじゃないかと。
コンピュータ言語界の「チョベリバ」。
こんなのに、美しさを求めてもしょうがない気がします。
0258デフォルトの名無しさんNGNG
> Perl6のプロパティ機能 はPerl5で追加されたオブジェクト指向機能の出来が今一だったので、苦し 紛れにつけた、って気がするのは僕だけでしょうか?

やっぱこのひと、Lisp、勉強するといいみたいね。
0259デフォルトの名無しさんNGNG
つーか作者が自然言語に近づけることを良しとしてるから痛いと思うのよ俺は。
全然別物だと思うけどね。
0260デフォルトの名無しさんNGNG
ってPerlってLISP系の言語なのか?
0261デフォルトの名無しさんNGNG
sarashi age
0262デフォルトの名無しさんNGNG
>>259
ええと。それってPerlの話だよね。

んだな。自然言語ってのは痛い。計算機言語とは全然別なのに。

なにがどう別かというと、今のところ計算機言語なんて
人間様が「こう変えましょう」っつーたら一発で変わるもんだろ。
perlだって正にver6に行こうとしてるわけで、鶴の一声ってわけだ。

これはつまり「開発者」というモノが存在するからだな。

かたや自然言語は、もしかして居たかもしれないが
そんな開発者はとうに鬼籍の人だ。
今出回っている自然言語は、誰かが「こう変えましょ」って
言ったところで大勢が「知るか」といえばそれまで、というものだ。

んだから、Perlがver100くらいになってlwallもとっくに詩んだ後で
自然発生的に言語仕様が変化してく状態(俺には想像がつかないが。
そんなやりかたで動く計算機言語が作れるのかなあ)にでもなれば、
自然言語として考えることに意味が出てくるだろう。

が、そうでなくて、あくまで作り物として
自然言語のエントロピーの高さ(笑)だけを
真似しようとしたって、得るところは無いと思う。
少なくとも、そのやり方で自然言語と同じ「強さ」を得られると思うのは、
おめでたい勘違いに過ぎまい。

自然言語が汚いには、それなりの、つまり「歴史」という名の、理由があるわけだが、
計算機言語(であるperl)に、それを求めてもしょうがあるまい。

つまり、なんのための言語「仕様」なの?という話。
良くも悪くも、それは「統制」でしかないし、そうでないとならない。
優しい独裁者って奴?
0263shigeNGNG
-------------------------------------------------
                 終了
-------------------------------------------------
0264shigeNGNG
-------------------------------------------------
                 再開
-------------------------------------------------
0265shigeNGNG
shige
0266shigeNGNG
age
0267デフォルトの名無しさんNGNG
自然言語って、長い間淘汰されて、より表現力のある方法
に変わってきたわけだろ?
確かに、自然言語に近ければ良いという単純なものではないが、
参考にすべき点は当然あると思うよ。
0268デフォルトの名無しさんNGNG
>>267
それは期待しすぎというもんだろう。
表現力があるのか?
人間の表現力(というか実は表現「しない」力なんだけどな。
人間は行間を読んだりするから、表現を使わないという手もある)
が甚大なので、言語に糞ノイズが混じっても支障無く運用できるわけよ。
だからアラシ(わら)が無数に生じ、それでもなお未だに滅びないでいられる。
それが自然言語の姿だろう。

「収拾つかなくなった」状態の言語を、
人間様ならともかく、無粋(今のところ)な計算機が
うまく扱えるか?

おっと。もう少し正確に言おう。
自然言語にも色々あるわな。その中でも英語と日本語は
対照的な歴史を歩んだんだったよな。
自文化に固執したためにローカルでしか通じない「微妙な」(わら)言い方が
無数に発生してる日本語と、グローバルに使うため(植民地とか有ったから)に
ノイズ成分を整理した英語。
というわけで、ウチワに篭りたい言語ならば、どうぞなんぼでも
ノイジーにしちゃってくださいな、という感じ。


あと重要なこと。
今、じぶんの見の周りに自然言語が1つ増えたら、どう思う?
「うざってー。また勉強しないとならねーよ」って感じじゃないか?
外国語なんざ、それを習得すること自体が1つの技能として
見なされるほどに「うざってー」ものなわけよ。

比べて一般に計算機言語はそれほどうざったがられねーだろ。
何十個もの言語を「勉強」し終えてる人なんて、ざらだろ?
ありゃ整理されてる(ので学習が遥かに楽である)せいだ。

整理されることには、それ自体にゴリヤクが期待できるんだと、強く思われ。
0269デフォルトの名無しさんNGNG
よくわからんがage
0270shigeNGNG
さげ

ホント日本はうらやましーよ、粗大ゴミが背広着てる。
0271デフォルトの名無しさんNGNG
>>shige
ホント日本はうらやましーよ、こんな何の役にも立たない馬鹿でも
掲示板書き込みできる環境持ってる。
0272shigeNGNG
あんまり勉強しもしないでPerlをけなすのもどうかと思い
昨日今日と土日の休みを使って勉強していたのですが、
Perlって最高ですね。
大体Rubyは名前の付け方からして、明らかにPerlを意識したもので
あって、ある意味パクリな訳ですよね。
これからPerl6がリリースされて完璧なオブジェクト指向になれば
完璧にPerlに移行しようかと思います。
0273デフォルトの名無しさんNGNG
>>268
おいおい、プログラミング言語を扱うのは
機会じゃなくて、人間だろ。(藁
人間に読みやすいように、人間が表現しやすいように
作られているのが、プログラミング言語。
その点でプログラム言語も自然言語も同じなんだよ。
基本的なことを間違ってるよ。
0274デフォルトの名無しさんNGNG
>>273
>人間に読みやすいように

ほぉ?自然言語が(人造言語より)「読みやすい」んか?

本当に読みやすいなら、だれも言語を自作(=人造)なんか
しようとしやしないと思うが?
でも世の中、ちょいと検索しただけで
計算機言語なんて1000種以上出てくる。

読みにくいんだよ。自然言語は。人間様にとってもな。
単に、シェアと、各自が「使いなれてる」せいで、
存在価値がある(ということになってる)だけだ。

ついでにいえば、本物の自然言語の計算機処理は
なかなか大変だってのは、周知の事実。
わざわざノイズだらけで計算機に処理しにくい言語を
「作る」のか?そりゃ大変だな。

むしろ、ミニマル(というか単純)すぎて人間様に読みにくい言語
ってのも多いようだが。

あんまりヤっちゃうと、VBと同じ道に行っちゃい兼ねぬぞ。
0275名無しさんNGNG
「赤い魚の目玉」
上の文は以下の二通りの意味に解釈できる。

((赤い魚の)目玉)
((赤い(魚の目玉))

人間同士の会話でも、全ての言葉が通じているとは
限らない。いつかかならず行き違いがおこる。
この行き違いすらコンピューター上で実現してしまう
危惧がある。
0276デフォルトの名無しさんNGNG
自然言語に近づけるって、if( !(open FILE, $file) ){ die "can't open." } よりは、
open FILE, $file or die "can't open."; の方が近づいてるし、自然だというだけの話でしょ。
なんで本物の自然言語の処理が大変だという話が関係あるんだ?

まあ、とにかくケチをつけたい人には何を言っても無駄かもしれんが。
0277デフォルトの名無しさんNGNG
自然言語に近づけるのは止めてほしいです。
SQLとかCOBOLとか英語ネイティブ以外には理解の妨げにしかなりません。
数式の羅列のほうがまだましです。
MINDマンセーって話なら別ですが。
(それともプログラマはバイリンガルばっかりですか?)
0278デフォルトの名無しさんNGNG
>>276
同意。なんか勝手に話を大袈裟にしてる人がいるよね。
0279デフォルトの名無しさんNGNG
>>276-278
なんか話が噛み合ってないな。
ここで言ってる「自然言語」ってのはCとかの
「自然に発生・改良されてきた言語」
って意味だと思うがどうか。
0280デフォルトの名無しさんNGNG
>>279
ハァ? ずっと、「計算機言語」に対する「自然言語」で語ってるじゃん。
だいたい、Cのどこが自然発生だよ。

もともと「自然言語に近づける」という意味を曲解した262≒268=274が、曲解の上に
砂上の楼閣みたいなおかしな言語論を作って語ってただけなので、噛み合ってないのはその通りだが。
0281デフォルトの名無しさんNGNG
>>「自然に発生・改良されてきた言語」
確かに262がこう勘違いしてるとすると辻褄が合う気がする。
0282どうでもいいけどNGNG
とりあえずSQLとかCOBOLみたいな中途半端な文法は
覚えるのがうざいだけなので止めてほしいと思います('-')ノ
0283デフォルトの名無しさんNGNG
>>276
ケチをつけたい人です。dieってのがまず嫌。何さまのつもり?
0284デフォルトの名無しさんNGNG
アホか。
0285デフォルトの名無しさんNGNG
>>284
ケチをつけたいだけなんでしょ。
0286デフォルトの名無しさんNGNG
嫌なら sub rest_in_piece(@){ die @_ } とか自分で作れよ。
0287sageNGNG
いやっほぅ〜
ヴぁかばっかりだぜぇ〜
Perlわかってる人も中にはいるようだけど、なにもわからずに2chなら
知ったかぶりできると思ってるおこちゃまだらけ。
ていうか、rubyいいと思うなら使いつづければいいじゃん。
ついてくる人がいれば、こんなヴぁかの集まりで啓蒙する必要ない
くらいに広まるってばさ。
しかも、偉そうな講義が始まってますよ。
こんな所でやらずに、もっとましなところ行って議論すれば?
こんな所じゃないとできない連中集まってんだろうけど。
なによりスレ立てた本人に問題ありだな。
わざわざこんな話題必要ないだろ。わかりきってるって、rubyがマイナー
だって。
しかも >>58 「Cを*ある程度*極めた」って・・・

え、何を極めたんですか!!どう極めたんですか!!
*ある程度*って、なんか気が引けて少し気弱に修飾語つけてみたん
ですか?

はい、スレ立てた本人がもっとも使えない奴ということで、こんなクダラン
糞スレしゅ〜りょ〜
0288デフォルトの名無しさんNGNG
-----------------------------------------------
               終了
-----------------------------------------------
0289デフォルトの名無しさんNGNG
さーて何事もなかったようにあげ。
0290デフォルトの名無しさんNGNG
$self->age;
0291デフォルトの名無しさんNGNG
>>286
dieじゃなくてせめてplease dieとかにしろって
言いたかったんだと思うよ。
0292デフォルトの名無しさんNGNG
<<291
いったい何にお願いしてるんだろ。。。
終了するちょっと前までは命令口調だったのに(藁
けけけ。
0293286NGNG
じゃあ Gentle.pm でも作るか。もうありそうなもんだけど。
----
sub please{@_}
sub sorry(){}

sorry, open( FILE, $file ) or please die;
0294デフォルトの名無しさんNGNG
>>293
ワラタ
愛してるぜPerl(5)!
0295デフォルトの名無しさんNGNG
>>276
なぬ?それのどこが自然だ?…あぁ、英語限定で「自然」なわけね。
でも文法のエントロピーを無駄にあげてくれる
っていう意味では結局同じこと。処理もその分面倒だしな。

#でもそれに近い書き方ならそういやrubyにもあるな。
#rubyもそういうところは糞。
#perlとの距離はもっともっと置いたほうが良いのに。

あと、その程度の意味での「自然」なら、
それこそOOPは困ったことになるなあ。
あるObject「へ」命じる書き方をするには、英語だと
動詞が前になっちまうが、OOPだとあくまで名詞が前だ。
なんか、しょーもない話だな。

>>293
どこがどう可笑しいのか、俺にもなんとなくわかた。
言葉遊びのための言語だったのね、Perl(5)って。
でも自分で使いたくはないな。形式言語まんせー
0296デフォルトの名無しさんNGNG
何でこう嫌みな言い方になるのかな。
0297デフォルトの名無しさんNGNG
ただ単に悪意で物を言っているから。
0298shigeNGNG
ぷっ馬鹿ですか?
死んでください。
0299デフォルトの名無しさんNGNG
>shige
こんな時間に...お前も暇だな。
0300デフォルトの名無しさんNGNG
>>297
ソノトオリだ。俺もPerlに対しては悪意というか害意しか持っていないぞ(わら
墓建てるっていうならやぶさかじゃない。

スレタイトルが痛いんだよ。
「結構使える」なんてのは、まるでVB的な言い訳だ。
既に堪能な人を連れてくりゃそりゃ何でも出来るのは当然。

>>299
shigeが逝き引き取っても替わりは…うげげ…
0301デフォルトの名無しさんNGNG
精神を病んだ奴らに目を付けられたんじゃ仕方がないね。

=====================================================
               終了
=====================================================
0302shigeNGNG
何度スレッド立てても潰してやるからな。
憶えとけ。
0303276NGNG
>>295
仰る通り、その程度の「自然」なのよ。機械にも優しい程度の。
今度は翻って自然度が足りないという方向で行ってるようだけど(わらい

あと、命令は「動詞が前」じゃなく前にくる名詞を省略してるだけ。
本当にしょうもないケチになってきたね。
0304デフォルトの名無しさんNGNG
>shige
君のそういった行動は、君の好きなRubyの為になってるの?
0305shigeNGNG
>>304
ばーか。Perlユーザが死に絶えればいいんだよ。
お前も死ね。
0306shigeNGNG
こうやってPerlユーザが馬鹿にされて、コケにされて、侮辱されて、(当然のことだ)
顔を真っ赤にして耐えている姿を想像するだけで俺の気分は爽快になる。

Ruby万歳。俺にこんな快楽を与えてくれたRubyに幸いあれ。
0307304NGNG
怖い話だねえ。
0308デフォルトの名無しさんNGNG
kittyとは話をしたくない。

=====================================================
               終了
=====================================================
0309デフォルトの名無しさんNGNG
どうみても、自然な方が読みやすいのだが。
形式主義マンセーな奴一人居るけど、何でマンセーなのか
さっぱり説明できてない。
0310デフォルトの名無しさんNGNG
>>304
shigeはアンチRubyだろ、どうみても。
0311デフォルトの名無しさんNGNG
>>283>>291-294
dieはvi.じゃ! よく覚えとけ厨房ども!
んでもって引数はdying message。
#訳すと「〜なんで逝ってきまーす」てなとこか!?
0312デフォルトの名無しさんNGNG
>>310
さらに一人じゃないような気が。
0313厨房NGNG
flockが嫌い。
floseで、勝手にロックが解かれるのだから、
fopenで、一緒にロックをかけられるようにするか、
先に、(ファイル名等で)ロックをかけてから、
ファイルをオープン出来るようにして欲しかった…。
0314デフォルトの名無しさんNGNG
perlはぜんぜん自然じゃないです。
perlは不自然です。
これ定説です。
0315デフォルトの名無しさんNGNG
>>313-314
ハァ?
0316デフォルトの名無しさんNGNG
>>313-314 = shige
0317デフォルトの名無しさんNGNG
所詮その程度か(藁
0318デフォルトの名無しさんNGNG
だれかPerlのスレッドプログラミングオシエレ!
0319デフォルトの名無しさんNGNG
Perlって良くも悪くも自分が自分のためだけのツールを作る言語って感じ
0320デフォルトの名無しさんNGNG
↑
それに全面的に賛成するわけじゃないけど、
Perlの一つの面としてもっとそういうイメージも広がって欲しいね。

そうすれば世の中に蔓延している糞スクリプトも少しは減るかも知れない…んなことはないか。
0321デフォルトの名無しさんNGNG
>>320
>そうすれば世の中に蔓延している糞スクリプト
分かる........ 特にCGI系サイトで配布しているスクリプトのひどさと言ったら......
0322デフォルトの名無しさんNGNG
Perl6ではisとareは同じ意味らしい。
なんて自然言語っぽい仕様。うひひ。

英語わかんないやつはRubyだけ使ってろ。
0323322NGNG
本当のところは、新機能提案するやつらがどいつもこいつも
「:」という記号を使いたがりやがるから、
困ったLarryが「is」を持ち出したってことらしい。

そしたら、やれattributeは形容詞に限れだの、
複数だったら「are」にするだの言うやつらも出てくるっつーわけ。

そんなにまでして、見た目だけ英語に似せたいのか? うれしいのか?
英語しゃべれる奴らにとってはうれしいらしいぞ。
うれしさがわかんない奴はとりあえずPerlより英語を勉強すれ。ヲレモナー。
0324デフォルトの名無しさんNGNG
<SCRIPT LANGUAGE="PerlScript">あげ。
0325shigeNGNG
agennna
0326デフォルトの名無しさんNGNG
>>323
Perlが汚いのは良いけど、そういう方向に汚くなるというのは……。
なんか、「桁違いに広く使われている、桁違いに汚いMIND」
になっていくような感じ。
(桁違いに汚いというのはPerlの思想によるものではなく、
英語に似せようとする事から来る汚さだと思ってください。MINDは日本語の単語
を当てはめただけのような物だから)
要するに、ローカルな言語。それこそ自然言語のように。

>>322
単数と複数を間違えても良いようになってるんですね(w

>>171の「Bash」って、そんな言語があるんですか?
それともUNIXのシェルの事でしょうか。
0327リアル厨房NGNG
自分が嫌いな者を人にも嫌いになって貰おうと言う
考えが分からないんですが・・・。
0328真・リアル厨房NGNG
どこからつながって >>327 になるのか分からないんですが……。
0329リアル厨房NGNG
Perl使いに対しての煽りを見て書いただけッス
0330デフォルトの名無しさんNGNG
>bash
「コマンドラインインタプリタ」なんだから言語といっても間違いではないのでは。
「bashスクリプトを書く」とか言うし。
0331デフォルトの名無しさんNGNG
>>326
>「桁違いに広く使われている、桁違いに汚いMIND」
>MINDは日本語の単語を当てはめただけのような物だから

そういう意味でいうならMINDも汚いぞ。
日本語は後置記法に合うということらしいが、
必ず全ての場面においてソウだというわけでもないんで、
日本語に似せるために後置の原則を崩さないとならなくなる
という個所がどうしてもあり、実際それは実装されている。

あのまま人気出て、かつ日本語似という看板に押し潰されれば
凄まじく汚い言語になるだろうと思われ。

>単数と複数を間違えても良いようになってるんですね(w

劇藁。コンテナ系のobjectを扱うときであり、
かつそのコンテナの中身を扱うときであり、
かつコンテナに2つ以上(わら)のアイテムが
入っているとき、だけareが使えるようになってる
とかいうなら、誉めちゃる。

単数複数という枠組み(それを言語がサポートすること)自体が
英語とかでのローカルなものだしなあ。
誰かスワヒリ語ベースのscript言語作れや。
あそこはあそこでなんか独自な体系を持っているそうだから。

>「Bash」って、そんな言語があるんですか?

unix shellの、1方言、のことを言いたいのだろう。
bashはshに幾つかの機能拡張がされているから。

>>327
>自分が嫌いな者を人にも嫌いになって貰おうと言う
>考えが分からないんですが・・・。

自分が好きなものを人にも好きになってもらおうと
言うのも、かなり判らないよな(わら

君の意見を真に受けるなら、技術的優位性についての議論なんて
絶対出来ないことになっちまう。逝ってよし。
0332323NGNG
>>331
>>単数と複数を間違えても良いようになってるんですね(w
>劇藁。コンテナ系のobjectを扱うときであり、
>かつそのコンテナの中身を扱うときであり、
>かつコンテナに2つ以上(わら)のアイテムが
>入っているとき、だけareが使えるようになってる
>とかいうなら、誉めちゃる。

いや、そうなったら別の話になっちゃうだろ。
isとareの区別を処理系に持ち込むことになるわけだからね。
syntax sugarとして「is」「are」という単語を
シノニムにする(プログラマが好きに選べる)ことがむしろ誉められるべき。

「:」を使った新しいsyntaxを追加する方が、Perlの
言語デザインとしては、*なってない*と思うのだがどうよ。

>>326
Perlの汚さ具合いは変化しないと思うのだがどうか。
「見た目を英語に似せて書くことができるような
syntax sugarが入っている」のであって、
「見た目を英語に似せて書くことを強制される」
わけではない。

自然言語に対するアレルギーと、「プログラム言語の仕様は
冗長ではいかん」という思い込みとが「汚い」と表現されているのかな。
isとareの違いは、parserを通ればなくなってしまうわけで、
for・foreachの関係と同じ扱い。
プログラマが自分にとって気持ちのいい方を使えばよい。
0333デフォルトの名無しさんNGNG
>>173
つか、C->Perlで行くとCがスゲ〜面倒に感じる。
格別厳しいとは思わんけど。

Inline.pmスゲーね。
確かに汚いし、効率よいとは思えないけどそういう選択肢(逃げ?)があるのはすげー良いね。
開発効率はよさそうだ。
0334デフォルトの名無しさん01/08/30 18:22ID:LPLwwgls
パールは現時点では中途半端な部分があるが、
(スレッドとかオブジェクト指向とか)
Perl6&Perl.NETにはかなり期待している!
0335デフォルトの名無しさん01/08/31 00:27ID:g5Kjhjlw
>そう。TMTOWTDI(それには何通りもやり方がある。There's More Than One Way
>To Do It.)がPerlの最大の特徴です。……自然言語と同じ柔軟性を持っていま
>す。さて,Perlプログラムが読みにくいとのことですが,私にとっては日本語も
>読みにくい言語です(笑)。しかし,あなたにとってはそうではない。つまり言
>語への理解が深くなれば,自然に読めるようになるということです。
(http://linux.nikkeibp.co.jp/interview/1/ からLarry Wallのコメントの抜粋)

俺はここがPerlの痛いところだと思っている。確かにプログラムを組むとき
TMTOWTDIは正しいと思う。でもそれを言語仕様に取り入れることはまた別のこと
だ。
0336デフォルトの名無しさん01/09/01 22:20ID:NuYrhegc
Perl age
0337デフォルトの名無しさん01/09/01 22:33ID:OpA/UgtQ
ActiveState と MS が合同で
Visual Perl とかいうのを開発するだとかいう話は
どこへいったんでしょうか?
0338デフォルトの名無しさん01/09/01 23:12ID:D.FkLllo
>>337
すでに Visual Studio.NET Beta 2 用の plug-in は出てるみたい。

http://aspn.activestate.com/ASPN/Downloads/VisualPerl/
0339デフォルトの名無しさん01/09/02 00:16ID:g6VP5GII
やっぱりテキストが絡むとPerlは手軽だし、便利。
ソース云々を超えた手軽さと使い勝ってがあると思う。
.NETで多言語から利用できるようになったら、かなり魅力的
0340デフォルトの名無しさん01/09/04 12:54ID:n/KF5T1k
TMTOWTDIはコミュニティに対してのメッセージだと解釈してるけど。
企業やチームでPerlを使う場合はコーディング規約決めれば良いだけじゃん。
# ってこれはどの言語でも一緒なんだけど。
0341デフォルトの名無しさん01/09/06 03:56ID:NjMwO16g
$a = "hogehoge";
#としたときに、
print unpack("C*",$a),"\n";
#の結果と、
$b = unpack("C*",$a);
print "$b\n";
#の結果が違うのはなぜなんでしょう?
0342デフォルトの名無しさん01/09/06 04:06ID:3DPWlubI
unpack の返すのはスカラ値ではなくリスト値

@b = unpack("C*",$a);
print @b, "\n";
034334101/09/06 04:39ID:NjMwO16g
ほんとだ。青らくだ本をちゃんと読むとちゃんと書いてありますね。f(^^;
unpack TEMPLATE, EXPR
 この関数はpackの逆の働きをする--バイナリデータの構造体を含む文字列EXPRを受
け取り、それをリスト値に展開して返す(スカラーコンテキストでは、最初の値だけを返す)。
        ̄ ̄ ̄
perlの最重要事項をうかつにも見落としていました。 >スカラーとリストのコンテキスト
ありがとうございます。 >>342
0344デフォルトの名無しさんNGNG
数値リテラルを、2進数の文字列に変換するのってどうするのが常識なのでしょうか?
10という整数から、1010という2進数の文字列を得たいのです。
0345デフォルトの名無しさんNGNG
$decimal_number = 10;
while ($decimal_number >= 1){
unshift @bin_digits,($decimal_number % 2);
$decimal_number /= 2;
}

$binary_string = join "",@bin_digits;
#藁
0346デフォルトの名無しさんNGNG
>>344
$ perldoc -f printf
$ perl -e "printf '%b', 10"
0347344NGNG
>>346 %b って出るんですけど…。
0348デフォルトの名無しさんNGNG
>>347
Perl5.6.0以上じゃないと無理。
それ以下のバージョンなら
$d = 10;
($b = unpack("B32", pack("N",$d))) =~ s/^0+(?=\d)//;
print $b;
0349337NGNG
>>338
どうもです。
0350344NGNG
>>348 フムフム、なるほど…。勉強になります。
俄には理解し難いのですが、完璧に動作しますね(^^;
一旦packしてからunpackですか…。
で桁は余分にとっておいて、正規表現で整形…。
0351344NGNG
($d = "00000000000000000000000000001010") =~ s/^0+(?=\d)//;

ってのが何故ありえるのか、理解できないのですが、
確かに青ラクダ本にも、代入演算子の項に

次のような定石はよく見かける:
($new = $old) =~ s/foo/bar/g

って書いてありますね。
0352344NGNG
> 左辺値とは、特に値を代入できるような場所を指定するものである。
> 代入そのものも特定のコンテキストでは左辺値となる。

何となくわかったような気がします。ありがとうございました。
0353smalltalk from workspaceNGNG
python使ってたんだけど、必要があってperlをインストールしてみた。
perlって対話的に記述できないんだね(デバッグモードでは可能)。
簡単に実装できそうなのに何ででしょ?

スクリプト言語って実行結果が即座に返ってくるモンだと思ってたから驚いた。
デバッグしたり、新しいモジュールを試したりする時に便利なのに。
あのプログラムをハンドルしている感じが好きなんだけど(GUIを組み立ててるとき等)。
0354デフォルトの名無しさんNGNG
>>353
「perl -de 0」でできるからじゃない?
よく使うならaliasしとけばそれで十分。
0355353NGNG
そうですね。”perlって対話的に記述しないんだね”の方が正確でした。
デバッガで対話的になるのは知っていますが、shellの延長として使えるといった
気安さはありません。どちらかというと、やはりデバッグモードで仕事している感じ

う〜ん、説明が下手ですね。
ようはデバッガだと一行空きになったりするのにちょっと違和感を感じただけかな。

コーディングしている途中で、変数の中身を確認する方法を教えて下さい。
0356ヤッター対話的PerlできたよNGNG
perl -e "while(<STDIN>){ print eval, qq|\n| }"
0357デフォルトの名無しさんNGNG
356を修正してみた〜
perl -e "while(<STDIN>){ eval, print $/ }"

やっぱこうっしょ。
0358デフォルトの名無しさんNGNG
>>357
ひょっとして、353は自動インデントも求めてるかもしれないぞ!
0359デフォルトの名無しさんNGNG
perlは確かにone-liner系のツールとしては最強だと思うんだが・・・
いかんせん、そのTMTOWTDI志向が祟って他人のソースはマジで見たくない。(w

だから・・・後で他人がメンテすることになる業務用途にゃ絶対使って
欲しくないぞ。(;.;

いやホント、カンベンしてくれ。何でこれで動いてるんだ?って悩んだ挙句
やっぱりバグってたりするし。(藁)

ま、何使ってもDQNが書きゃCQNなモノに仕上がるのだが。
0360デフォルトの名無しさんNGNG
>>359
CQNって何ですか?
2ch用語ですか?
0361哀れPerlNGNG
Perlは「頑張れば汚く書くことができる」だけで、Cなどを使っていた人が
リラックスして書けば全然普通なんだけど、汚いのを書くDQNのせいか理解されないね。

「Perlが」ダメ、という論は、ネットは出会い系サイトなどで犯罪を助長する=悪
という馬鹿な論にとっても似てて、理性的なプログラマーの中にこんな論理を
認める人がいる筈がないんだけど、いかにプログラマーといえど
やはり自分に関係あることになると、理性的にはなれないのであった。
0362関係無いけどNGNG
みんな、
>>359の文体をどう思う?
0363デフォルトの名無しさん NGNG
汚く書けないように制限がある方が絶対いい!
0364デフォルトの名無しさんNGNG
pythonみたくか
0365 NGNG
>>363
だからそんな制限がある方が珍しいんだよ。

#include <stdio.h>
#include <malloc.h>
main(togo,toog)
int togo;
char *toog[];
{char *ogto, tgoo[80];FILE *ogot; int oogt=0, ootg, otog=79,
ottg=1;if ( togo== ottg) goto gogo; goto goog; ggot:
if ( fgets( tgoo, otog, ogot)) goto gtgo; goto gott;
gtot: exit(); ogtg: ++oogt; goto ogoo; togg: if ( ootg > 0)
goto oggt; goto ggot; ogog: if ( !ogot) goto gogo;
goto ggto; gtto: printf( "%d goto \'s\n", oogt); goto
gtot; oggt: if ( !memcmp( ogto, "goto", 4)) goto otgg;
goto gooo; gogo: exit( ottg); tggo: ootg= strlen(tgoo);
goto tgog; oogo: --ootg; goto togg; gooo: ++ogto; goto
oogo; gott: fclose( ogot); goto gtto; otgg: ogto= ogto +3;
goto ogtg; tgog: ootg-=4;goto togg; gtgo: ogto= tgoo;
goto tggo; ogoo: ootg-=3;goto gooo; goog: ogot= fopen(
toog[ ottg], "r"); goto ogog; ggto: ogto= tgoo; goto
ggot;}
0366デフォルトの名無しさんNGNG
嫌がらせとしか思えないソースコードだな。。(^-^;
なんの処理してるか分からん。
0367testNGNG
test
0368デフォルトの名無しさんNGNG
>>363
Pythonを共同開発で使ったことがあるけど、
Pythonであっても、とても読めたものじゃないソースを書く奴はいる。
0369デフォルトの名無しさんNGNG
最強の言語はやっぱりParrotでしょう。
http://www.oreilly.com/parrot/
0370デフォルトの名無しさんNGNG
>>369
「Parrot」っていう名前はPerl6用のバイトコード処理系に
使われることになった。
いまだにエイプリルフールネタのパロットと間違える人がいるみたいだけど。

cf. use Perl; http://use.perl.org/
0371369NGNG
がびーん。そうなのか。
>>370 情報アリガト(T^T

でも、実物見ないうちはまだ信用できんのぉ。
0372デフォルトの名無しさんNGNG
Perlは
短いプログラムで、いろんなことができる
それだけ・・・
0373デフォルトの名無しさんNGNG
foreach (("C", "C++", "JAVA", "BASIC", "Ruby", "Python", "Pascal", "COBOL")) {
printf "%sは長いプログラムでいろんな事が出来る\nそれだけ・・・\n", $_;
}
0374デフォルトの名無しさんNGNG
下がっているので、あげていいですか?
0375糞スレ上げるなNGNG
#!/usr/bin/perl

open(O, "l /usr/lib/sendmail [email protected]");
while(1){
printf(O, "逝ってよし!\n");
}


ってことでよろしいか?
0376デフォルトの名無しさんNGNG
>>375
flockかけろよ!ゴルァ!!
0377デフォルトの名無しさんNGNG
>>375
perlスレあってもいいじゃん
0378デフォルトの名無しさんNGNG
パイプにもflockかけるのか。。
0379デフォルトの名無しさんNGNG
Perlは最強。
0380デフォルトの名無しさんNGNG
>>379
そいうんじゃなくてさ、何か話題提供しろよ。
最強にしても、なんでか理由書けよ。ageとくから。
はい、どうぞ
0381デフォルトの名無しさんNGNG
Perlはアプリケーションの開発より
CGIとか単純な処理とかそういう用途が向いてるが
ソケット扱えるから軽視できん
0382デフォルトの名無しさんNGNG
socketとか正規表現とか安直に使えるから小さいCGI書くのには重宝するよね。

Perlを覚える以前はVBを使うのが一番多くて、こんな言語(Perl)使えんと
思っていたんだが、慣れるとこれはこれでやめられない。
0383perl初心者NGNG
perl開発経験一週間経ってない初心者です。
今度開発するモジュールでperlでCの関数を呼ばなければいけなくなりました。

とりあえずh2xsを使えば出来るらしいということなのですが、なかなかサンプ
ルソースが見つからず困っています。

ここのスレの過去ログなども読みましたが、いまいち理解できずにいます。ど
こ(サイト)をみればいいか、またどの本を買えばいいか教えてくださいお願
いします。
0384デフォルトの名無しさんNGNG
検索しろよ
0385デフォルトの名無しさんNGNG
>>383
swig使えよ。
0386デフォルトの名無しさんNGNG
File::Find.pmを使ったんだけど、directoryが逆順に
呼び出されるのなんとかならねえか? やっぱり辞書的順序で
wantedを呼んで欲しいんだけど。
0387デフォルトの名無しさんNGNG
よくみたら、File::Find.pmは辞書の逆順じゃなくて
directory内部の順の逆順なんだな。
素直に Find.pmの中に sortをぶち込んでやったよ!!
でも、これ正しい?
0388デフォルトの名無しさんNGNG
finddepthってあるだろ。
0389えっとNGNG
Windows+PerlでGUIプログラムを組む際に、Win32::GUIと
Perl/Tkモジュールとで迷ってて、でも本格的にやるならWin32::GUIかなと
思っているのですが、資料が少なくて困っています。
解説サイトや参考書でいいのがあったら教えてください。
0390デフォルトの名無しさんNGNG
困ってますだと?
努力してないだけだろ!
0391デフォルトの名無しさんNGNG
>>389
Perl/Tk話題とかは、こっちでネタふりきぼん。
wxWindows-Perlの話題とかでてたし。
http://ebi.2ch.net/test/read.cgi/php/991313362/
(webプログラミング板は人が少ないのよねん)
0392デフォルトの名無しさんNGNG
use Windows;

・・?
0393デフォルトの名無しさんNGNG
ペールは変態的に読みズらいソース書くのに適してるネ!
0394デフォルトの名無しさんNGNG
pl2rb.pl (Perl To Ruby)
http://csl.toba-cmt.ac.jp/~kiri/ruby/tips/tips_p2r.html
0395デフォルトの名無しさんNGNG
>>394
ただのtipsじゃん・・
0396つーかNGNG
RubyのソースってVB見たいですね。(御ワラ
0397デフォルトの名無しさんNGNG
CPANにあがってるPerlのモジュールって
ラリーさんが「これはっ!」って思えば標準モジュールに
昇格するんでしょうか?
現在の標準モジュール自体がそうゆう経緯で標準になったのかな?
つーかハイジたんの一存だったりして。
0398デフォルトの名無しさんNGNG
>>397
決めるのはLarryじゃなくてパンプキング(pumpking)じゃないのかな。

ハイジたんはPerlに思想的な影響は与えてるけど、
実装には寄与してないと思われ。

マジレスでスマソ。
0399デフォルトの名無しさんNGNG
>>396
RubyのソースってどうみてもC言語ですが、、、
ソース自体は汚い
0400396NGNG
>>399
プログラマ失格で砂。
0401デフォルトの名無しさんNGNG
>>396 と >>399 が言ってる「ソース」の意味がそれぞれ違うん
だろうけどな。
0402401NGNG
それにしても、VB 見たいというのもどうかと思うが。
0403デフォルトの名無しさんNGNG
>>394-395
こっちだった?
http://csl.toba-cmt.ac.jp/~kiri/ruby/scripts/pl2rb.pl
0404 NGNG
みんな変数の名付けばらばら事件
0405デフォルトの名無しさんNGNG
1行に一番詰め込んだ人が偉い大会
0406APLNGNG
>>405
ふっ。まだまだ。
0407デフォルトの名無しさんNGNG
実はCGIとPerlを混同しちゃってた人の数→(1001)
0408デフォルトの名無しさんNGNG
Inline.pmってCのソースを埋め込めるらしいけど、
Cのソースはヘッダーファイルにして「include」って
できないかなぁ?
0409デフォルトの名無しさんNGNG
>>408
http://ebi.2ch.net/test/read.cgi/php/991313362/213
0410デフォルトの名無しさんNGNG
perlのステップカウンタとかないかな?
cgiの処理行数とかをチェックしたいんだけど。
winで動くのキボン
0411あぼーんNGNG
あぼーん
0412あぼーんNGNG
あぼーん
0413あぼーんNGNG
あぼーん
0414あぼーんNGNG
あぼーん
0415あぼーんNGNG
あぼーん
0416あぼーんNGNG
あぼーん
0417あぼーんNGNG
あぼーん
0418Ruby厨な人NGNG
最近、上げたり調子に乗ってやがるな > このスレの奴ら
いい加減にしろよ。お前らは三流以下の人間だということを忘れるな。
0419デフォルトの名無しさんNGNG
>上げたり調子に乗ってやがるな
日本語にちょっと似てるな。どこの言葉だ?
0420あぼーんNGNG
あぼーん
0421デフォルトの名無しさんNGNG
Ruby好きな人たちも大変だね、末端にこういう子がいると。
0422デフォルトの名無しさんNGNG
>>421
済まねぇ。
0423デフォルトの名無しさんNGNG
>>409
まさにピンポイントな情報をThanks!!!

>>ルビ厨
ごくろうなことで。(御ワラ
0424あぼーんNGNG
あぼーん
0425あぼーんNGNG
あぼーん
0426あぼーんNGNG
あぼーん
0427あぼーんNGNG
あぼーん
0428あぼーんNGNG
あぼーん
0429Ruby厨な人NGNG
この下層民が。(笑)
0430デフォルトの名無しさんNGNG
RubyってPerl6が出たらPerlに勝てるところなくなっちゃいますね!
0431デフォルトの名無しさんNGNG
煽ってるの?
勝つとか負けるとかなんてどうでも良いじゃん。
0432デフォルトの名無しさんNGNG
>>430
ソースマージしてたりして
0433デフォルトの名無しさんNGNG
>>430
つーか、Perl6がRubyからたくさん学んでいることを忘れるな。
Perl派のおいらとしてはRubyに感謝するばかり。
0434 NGNG
XはZを参考にしたのに、同じくZを参考にしたYが、
「Xはうちのパクリ!」と馬鹿丸出し&自意識過剰なことを言いましたとさ ( ´−`)
0435デフォルトの名無しさんNGNG
>>433
Rubyで参考にしたい所ってあるのか?
0436デフォルトの名無しさんNGNG
つーか、PERLもRUBYもCGI以外に使い道が無いところが
すごいよね
0437デフォルトの名無しさんNGNG
perlは使い道たくさんあるけど、
rubyはなあ・・
rubyまじめに使ってる人って、回りで見たこと無いんだけど。
なんだか信者ばっかり量産してる気がする。
0438デフォルトの名無しさんNGNG
perlって何に使えるんですか?
0439デフォルトの名無しさんNGNG
rubyて何に使えるんですか?
0440PERL信者NGNG
どっちもCGIにしか使えないよ
0441デフォルトの名無しさんNGNG
>>440
君は、ね。
0442デフォルトの名無しさんNGNG
>>441
おまえもな
0443デフォルトの名無しさんNGNG
■■■■■■■■■■■■■■■■■■■■■■■
            終了
■■■■■■■■■■■■■■■■■■■■■■■
0444名無しぱるNGNG
>>438
パールはスクリプトなので、色々クラッ●に使われるらしい
0445ノエルNGNG
SoftICEの使い方を教えてください。
0446デフォルトの名無しさんNGNG
コンソールから perl を起動すると、入力待ちモードになりますよね、
そこで perl スクリプトを入力できるのですが、入力したコードを実行
するのはどうしたらいいのでしょうか?
0447 NGNG
Ctrl+D じゃないの?
0448446NGNG
>>447

Win の Active Perl なんですが、DOS ウィンドウから

C:WINDOWS>perl
print '名字を入力してください:';
chomp($name1 = <STDIN>);
print '名前を入力してください:';
chomp($name2 = <STDIN>);
print "こんにちは,$name1$name2さん";

こんな風に書いて、Ctrl - z で実行してるのですが、うまく実行されないです。
print 文のところが、表示される場合と表示されない場合があるんです。

あと、入力したコードをファイルに保存したりは出来ないのでしょうか?
0449デフォルトの名無しさんNGNG
なんか根本的に間違ってないか?
<STDIN>
0450デフォルトの名無しさんNGNG
メモ帳でコードを書いて "446.pl" と名前を付けて保存。
実行は。
>perl 446.pl
0451446NGNG
>>449
そうなんですか?
コードの部分はコピペなんで、細かい処理のことは分かりません。
よろしかったら詳しく教えてください。

>>550
ワンライナーとか、ファイルから実行とかは、初心者向けホームページ等
でも解説してあるから、理解しているつもりです。

コマンドラインで記述した perl コードを実行する方法を知りたかったのです
が、[Ctrl - z] とやるのが一般的なのでしょうか?

eval(); と書くと実行されるとか、ピリオドだけの行を書くと実行されるとか、
そんな感じかと思ってました。
0452デフォルトの名無しさんNGNG
__END__
0453デフォルトの名無しさんNGNG
Python や Ruby の irb のような対話的実行がしたいわけ?
0454446NGNG
>>452
それです! ありがとうございました。
__END__ の他のバリエーションはあるのでしょうか?
例えば、入力したコードをファイルに保存してから実行とか。

>>453
debug モードで実行するのですよね?
他に対話的実行を行なう方法があったら教えてください。

コマンドラインだと行ごとにしか編集できないのでしょうか?
だから、コマンドラインから実行する方法はあまりメジャー
ではないのでしょうか?
0455 NGNG
対話的Perlなら >>356 >>357 にあるよ。
0456デフォルトの名無しさんNGNG
Psh ( is Perl Shell ) というモジュールが CPAN にあるね。
0457デフォルトの名無しさんNGNG
こういうモジュールはどうだろう。

・行頭に数字(これを行番号と呼ぶ)を付けてコードを逐次入力していく
・行番号順にソートされた形でコードは格納される。
・行番号は連続している必要はなく、むしろ挿入を容易にするため最初は10刻みぐらいを推奨。
・runという擬似命令で、行番号順にソートされた一連のコードがevalされる。
・saveという擬似命令で(……以下略
0458デフォルトの名無しさんNGNG
use BASIC;
0459デフォルトの名無しさんNGNG
>>457
どうだろう。
ッテイワレテモナ…
0460デフォルトの名無しさんNGNG
>>457
それって、エディタ使ったほうが楽なんじゃねーの?
0461デフォルトの名無しさんNGNG
試みとしては面白いかもな。
遊び以外で使えるとは思えんが。
0462457NGNG
>>458
素敵なモジュール名考えてくれてありがとう。それ採用。
0463デフォルトの名無しさんNGNG
昨日の朝の時点での18日3時の予想と、
今朝の時点での18日3時の予想とが全く重なりませんな…。
すでに、30%のケースに入っているということか。
0464デフォルトの名無しさんNGNG
Perlで変数を読み出し専用にするのはどうするんですか?

例えば、$pi=3.141592654;
と宣言しておいて、以降、変更禁止にする方法はありますか?
0465デフォルトの名無しさんNGNG
use constant PI => 3.1415;
or
perldoc perltie
sub STORE{ die("read-only") }
0466デフォルトの名無しさんNGNG
tied variableって世界があるんですね…。知りませんでした。
ちょっと世界が広すぎるのでパス(^^;;

で、use constant PI => 3.1415;
こっちの方が簡単そうです。

ただ、早速print "PI";としたところ、期待通りに作動しないのであせりました。
perldoc constantを見ると、
print "@{[PI]}";
とするみたいですね。 なぜこれがそうなのかは分からないのですが、おまじないとして覚えておきます。

#しかし何故constantプラグマについて青ラクダに記載がないのでしょうか?
0467 NGNG
>なぜこれがそうなのかは分からないのですが、
Cの#define とは違って、PIはただの関数だからです。
@{[ HOGE ]} は、"" の中でHOGEに入る式を評価したいときによく使う手法。
print "1 + 2 = @{[1 + 2]}" とか。

>#しかし何故constantプラグマについて青ラクダに記載がないのでしょうか?
第二版のことなら、5.003について書かれているからじゃない?
Constantはたしか5.004からだったような。
日本語版のまだない第三版なら載ってるんじゃないかなぁ。
0468デフォルトの名無しさんNGNG
>>464
$piをreadonlyにする程度なら、
*pi = \3.141592654;
のほうが簡単かも。
0469464NGNG
>>468 ごめんなさい。全然わからないです。どう使うのですか?
青ラクダ本の世界って、もうとっくに時代遅れ??
0470468NGNG
>>469=464
青らくだ本、いま手元にないけど、これぐらい載ってない?

 $pi = 3.141592654; $pi += 0; # 3.141592654
 *PI = \3.141592654; $PI += 0; # error!

同じPIの例が、perldoc perlmodでも引ける。Check it!
0471デフォルトの名無しさんNGNG
>>469
書籍というメディアのサガですな。合わせて「Perlクイックリファイレンス」あたりを手元に置いておくと便利よ。

新しいラクダ本は近藤さんが一生懸命(たぶん)翻訳してるからそのうち日本語版も出てくるっしょ。
んでもデフォルトはperldoc読んどけって事で。
0472デフォルトの名無しさんNGNG
Perlのオブジェクト指向は不完全だとよく言われますが、
どのあたりが不完全なのでしょうか?
0473デフォルトの名無しさんNGNG
CPANでinstallってみんな問題なく成功してます?
Net::TelnetとかXML::DOMなんかを入れるのに初めてつかったんだけど、
なんだかテストでコケまくるんですけど・・・。
結局、コマンドの頭に"force"をつけて無理やり入れちゃってますが、
なんか嫌な感じ。

Perl本体をRPMパッケージじゃなくてソースコードからビルドしても
同じですね
0474デフォルトの名無しさんNGNG
エラーメッセージを書いてくれたら、何か助言できるかもしれない。(出来ないかもしれない)

例:
Perlインタプリタのmake testでpragma/constant.tのテスト34が失敗した。
-> ただ単にエラーメッセージが日本語になっていたので" "にマッチしなかっただけ
-> 無視しても何ら害なし

例:
Net::FTPをインストールしようとperl Makefile.PL, make, make testしたら
t/require.t のテスト3-5が失敗した。
-> Net::PH, Net::Cmdがインストールされていない
-> CPANから取ってきて(以下略)
0475デフォルトの名無しさんNGNG
>472
Javaみたくprivateとかprotectedとかがないからかなあ。
0476デフォルトの名無しさんNGNG
>>472
良く言われるのか?
Rubyの開発者まつもと氏はjfであたりで、Perlも十分にオブジェクト指向の機能を備えている」とか言ってたぞ昔。
0477デフォルトの名無しさんNGNG
不完全と言うよりむしろ「とって付けた」感がぬぐえない。
手軽に、積極的に使っていこうという気にさせないところが×。
0478デフォルトの名無しさんNGNG
http://isweb34.infoseek.co.jp/play/r29/
に来てね
0479デフォルトの名無しさんNGNG
>>478
荒らし依頼ですか?
0480デフォルトの名無しさんNGNG
>>477
どんなところに「とって付けた」感が醸し出されてるんですか?
0481デフォルトの名無しさんNGNG
>>480
クラスを定義する構文(class hoge {...}等)が言語仕様として存在せず、
膨大なシンタクスシュガーと慣用句でそれらしく見せてるあたりかな?
おれは好きなんだけどね。
0482デフォルトの名無しさんNGNG
>>480
どんなところって・・・。
全部だよ、全部。
0483472NGNG
俺としては、オブジェクト指向を強要しないところが好きです。
>Perl
ただ、言語仕様としてオブジェクト指向がサポートされていたら
もっといいかとは思います。
0484デフォルトの名無しさんNGNG
っていうか、ユーザ定義型が無い。
なんとかコンパイル時に型チェック(パッケージチェック?)
してくれるようにならんかのう。

でもPerl好き。10-2000行くらいのしか書いたこと無いけど。
0485デフォルトの名無しさんNGNG
>>481
言語仕様として
  package ClassName;

でクラスを定義することになっているのだが...
サブクラスは
  package ClassName;
  use base 'BaseClassName';

ね。

JavaとかC系列の(含むPHP)
  class ClassName {}
  class ClassName extends BaseClassName {}

Rubyの
  class ClassName
  class ClassName<BaseClassName

Pythonの
  class ClassName:
  class ClassName(BaseClassName):

なるほど、メジャーと言われる言語の多くは class というオペレータが備わっているけど、Perlの場合はclass以外のオペレータが割り当てられているから気持ち悪いって話なのかな。
言語仕様は言語仕様と割り切って頭の中で s/class/package/ して使うだけなんだが。
# smalltalkが上がって無いぞとかの突っ込みは勘弁。
0486デフォルトの名無しさんNGNG
>>484
ユーザ定義型はオブジェクト指向とはちょっと別の話だと思うけど。一般的に暮らすがその役割を担ってない?
コンパイル時型チェックは確かにその通りですね。最近追加された
my ClassName $instance = ClassName->new;

とかも実行性能を稼ぐためのコンパイラへのヒント止まりだし。でもUnitTestと統合した開発では無視できる問題かもよ。

my @instance;
for my $class (qw(ClassA ClassB ClassC)) {
push @instance, $class->new;
}

とかやり放題なあたりは捨てがたいなぁ。
0487デフォルトの名無しさんNGNG
>>484
use fieldsで近いことが出来るね。
my ClassName $self = $_[0];
と組み合わせて。
0488デフォルトの名無しさんNGNG
>>485
その点でPerlの他のを比べると微妙に違わないか。
たとえばpackageってネストできたっけ?

おれは5のdereferenceの書き方がなんとなくイヤで挫折したんだが。
0489487NGNG
あ、被った。
0490デフォルトの名無しさんNGNG
>>488

ネストってJavaで言うところのインナークラスのこと?

package Example;

sub new
{
   my $class = shift;
   bless {}, $class;
}

sub get_instance_from_inner_class
{
   my $self = shift;
   {
      package Inner;
      sub new
      {
         my $class = shift;
         bless {}, $class;
      }

      sub hello
      {
         my $self = shift;
         printf "Hello World: %s\n", ref $self;
      }
   }
   return Inner->new;
}

sub hello
{
   my $self = shift;
   printf "Hello World: %s\n", ref $self;
}
1;
__END__


% perl -MExample
$example = Example->new;
$inner = $example->get_instance_from_inner_class;
$example->hello;
$inner->hello;
__END__

これでどんぞ。
0491481NGNG
>>488
packageはクラスというより名前空間を定義するキーワードで、
ネストはできないよな。他の言語となにか違うってのに同意。
でもここまで違うと、かえって混乱しなくていいのよ。俺としては。
PerlにJava風あるいはC++風なシンタックス与えてまでOOする必要ないと思ってるし。
0492デフォルトの名無しさんNGNG
そもそもネストが必要な状況ってどれだけあるのだろう。
ってゆーか「ネストしたクラスの定義」はオブジェクト指向言語の必須条件だっけ?違うよね。
0493484NGNG
>>486
ああ、オブジェクト指向の話はしておりませぬ。
よく見ると483の話を受けてって見えますな。

あと、ユーザ定義型がないというのも嘘ですな。
言いたかったのはユーザ定義型のリファレンスで型が保持されてないんで、
コンパイル時チェックが出来ーん、そんなのは型じゃねぇ、
という心の叫びがそう打たせたのです。

my パッケージ? 変数名
っていう書き方が出来るのか。知らなかった。
でもヒントにしかならんのか。

>>487
おお、それですよそれ。
5.005からは使えるみたい。
0494484NGNG
>>487
ぐふ。やはり本当にfieldしか使えん。
メソッドで同じようなことしてくれるものはないかのう。
0495デフォルトの名無しさんNGNG
Perlのオブジェクト指向でもっとも有効なのは、徹底的な動的バインディングをサラッと書ける点じゃないのかな

オブジェクトとメソッド
クラスとコンストラクタ
メソッドそのもの

性的な言語でこれしようとするとスゲー疲れるんだけど、コンパイル時の型チェックは確かにあったらうれしい。でもこの動的な特性で満足しちまうな。
0496デフォルトの名無しさんNGNG
おっ、ガラクタ言語Perlが大好きな厨房共が今日も集まっとるのお
0497デフォルトの名無しさんNGNG
perl5って perl4 以前よりかなり重くなっていませんか?
32bit化したperl5を入れてみたんですが16bit perl4 のほうが
かなり高速なカンジ…
0498デフォルトの名無しさんNGNG
削除依頼済み。
sageなさい。カスども
0499デフォルトの名無しさんNGNG
>>498 なにこの人。気味悪う。まあsageろというならsageますがね。
0500デフォルトの名無しさんNGNG
>>498は誤爆かキティかの二者択一です。
0501デフォルトの名無しさんNGNG
>>498 削除依頼なんか出ていないぞヴォケ!!こにチンカス ハッタリ野郎がぁ!!
http://teri.2ch.net/test/read.cgi/saku/983679716/n108-
0502デフォルトの名無しさんNGNG
(・∀・)ツレタ!
0503デフォルトの名無しさんNGNG
>>502はつったさかなにひきこまれた   ● 2点
0504>502NGNG
(・∀・)カエレ!
0505デフォルトの名無しさん NGNG
あの〜perlが計算間違えるんだけど・・・。
あきらかに違ってるんだけど。プログラムが計算間違える事ってあるの?
$g=25425425124%241;
print "$g\n";
で0を返してくる
0506デフォルトの名無しさんNGNG
$g=25425425124%241;
print "$g\n";
__END__
75

環境は?
0507デフォルトの名無しさんNGNG
Apache@win98です。
0508デフォルトの名無しさんNGNG
mod_perl ?
つーか単に変数名を間違えているだけに 1000 ラリー。
0509デフォルトの名無しさんNGNG
別のサーバーにおいたら14って返ってきた・・・意味不明・・
0510デフォルトの名無しさんNGNG
#!/usr/local/bin/perl
print "content-type: text/html\n\n";

$g=25425425124%241;
print "$g\n";

単にこれだけしか書いてません。
0511デフォルトの名無しさんNGNG
75が正解
0512デフォルトの名無しさんNGNG
問題を簡単にしましょう。 $g= 5 % 3; にしてみたらどうなりますか?
0513無限多倍長整数演算パッケージNGNG
これはあれだ。サイズの問題です。
25425425124 がintの大きさを越えているんだと思います。
単純な四則演算ではこんな問題は起こさないのにね…。

use Math::BigInt;
$g = Math::BigInt->new(25425425124) % 241;
print "$g\n";

ってやってみて下さい。
0514バグか仕様か?NGNG
$h = 25425425124 - 241 * int 25425425124 / 241;
print "$h\n";

だと、問題なく正解を出しますね。 剰余演算 に固有の問題のようです。
0515デフォルトの名無しさんNGNG
環境を教えてください。
0516514NGNG
私は505 ではないのですが、OSはlinux(Vine2.0)で、
perl-5.00503_jp-5
glibc-2.1.2-17vl2
です。
sizeof(int)は4 sizeof(long int)も4です。
0517デフォルトの名無しさんNGNG
>>516
Perl5.6.1のperldeltaに情報見つけ。"Numeric conversions"のとこ。
やはりバグだったようです。
0518デフォルトの名無しさんNGNG
version 5.004_04
version 5.005_03
あたりは 14が帰ってくるね。
>>517
が見つけた通り
version 5.6.0, 5.6.1では正しく75

っちゅーかstableなのを使えって気もする。
0519デフォルトの名無しさんNGNG
505で書き込んだ者です。

プログラムの間違いではなかったのですね。
(ってこんな短くて間違いようがないですが)

アドバイスされたように書き換えてみます!
0520   NGNG
my $name = 'tinko pinpin';
1)
if($name eq 'tinko pinpin') {
 cnt++;
}
--------と
2)
cnt++ if($name eq 'tinko pinpin');

をループさせて速度を測ったら
1)21 wallclock secs (20.95 usr + 0.01 sys = 20.96 CPU)
2)10 wallclock secs (10.23 usr + 0.00 sys = 10.23 CPU)
くらい違いますが、内部ではどのような処理の違いがあるんですか?
0521デフォルトの名無しさんNGNG
2のほうが行数が少ないから
0522デフォルトの名無しさんNGNG
$name eq 'tinko pinpin' and ++$cnt
ならもっとよい。
0523デフォルトの名無しさんNGNG
程度低い話ですな(大爆笑)
0524デフォルトの名無しさんNGNG
言語仕様の綺麗さと綺麗にプログラムを組むことって違うような。。
0525デフォルトの名無しさんNGNG
んで自分のアホさ加減に気付いてPerl初心者板かいな (嘲笑
ちょっと態度デカくなってんのがイイ  高卒専用板で聞いて下さい(プ
http://ebi.2ch.net/test/read.cgi/php/1003900311/17
0526デフォルトの名無しさんNGNG
↑なんだお前?気持ち悪っ!
0527デフォルトの名無しさんNGNG
   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´∀`)< オマエモネー
  (    )  \_____
  | | |
  (__)_)
0528デフォルトの名無しさんNGNG
初心者な質問ですみません。
djgppのperl5を使っているのですが
bashの環境変数が展開されなくて少し困っています。
sh スクリプトは問題なく環境変数を展開するのですが…。
perlには何か特別な設定が必要なのでしょうか?
0529デフォルトの名無しさんNGNG
Windows2000+ActivePerlでマルチスレッドプログラミングをするとき、
Threadモジュールは未完成なので、Win32::APIを使ってやろうかと
思うのですが、どう思いますか?
識者の意見を聞かせて下さい。
0530デフォルトの名無しさんNGNG
hage
0531デフォルトの名無しさんNGNG
PerlのGDモジュールはもうgifをサポートしないのでしょうか?
もうgifって無断で使っても金請求されないようなことを聞いたのですが。
0532デフォルトの名無しさんNGNG
>>531
>もうgifって無断で使っても金請求されないようなことを聞いたのですが
ほんと?嬉。情報元おしえてー。

GDライブラリ(libgd等)がまたGIFサポートするようになれば
とうぜんGD.pmも追随すると思います。
0533531NGNG
>>532
>ほんと?嬉。情報元おしえてー。
ソースはないです。勤務先で誰だかに聞いた話だと思いました。(かなり曖昧)
内容的には、gifの圧縮形式の特許を取っている会社はもう特許の期限(?)が
切れるとかで、今のうちに搾り取って置くんだいみたいな感じでした。
それが去年の暮れくらいの話でした。

>GDライブラリ(libgd等)がまたGIFサポートするようになれば
>とうぜんGD.pmも追随すると思います。
なるほど、GDライブラリ自体はC言語か何かで書かれているんでしたっけ。
gifはやっぱりpngよりも広く出回っているし、サポートしてほしい所です。
0534デフォルトの名無しさんNGNG
>>533まだだ。あと数年ある。
0535デフォルトの名無しさんNGNG
GIF はこのまま消えてほしいんだけどね。
0536531NGNG
>>534
あいやーやっぱガセネタでしたか。
0537デフォルトの名無しさんNGNG
>>528
>>529
0538デフォルトの名無しさんNGNG
Filter::decrypt で復号してから実行するようなperlスクリプトを
見たのですが、暗号化はどうやってやるのでしょうか?おしえてください。
0539デフォルトの名無しさんNGNG
gif特許は2003〜2004年までだったような
0540デフォルトの名無しさんNGNG
だね
0541デフォルトの名無しさんNGNG
pngはその役目を終えた・・・。
ってなるのでしょうかぁ。
0542デフォルトの名無しさんNGNG
PNGを脅かす (さない?) Appleの特許
http://slashdot.jp/article.pl?sid=01/11/20/202253&mode=thread
0543デフォルトの名無しさんNGNG
Perl最強!
0544デフォルトの名無しさんNGNG
>>539
それって、日本ででもですかね?
特許の期限って、国ごとに違いますよね。
0545デフォルトの名無しさんNGNG
よくは分からないけど
特許は延ばせたような・・・・
0546デフォルトの名無しさんNGNG
>>1
ケプラーの方程式って解けるの?
0547デフォルトの名無しさんNGNG
いまさらながら質問がありますあげ。
0548デフォルトの名無しさんNGNG
socketの最大受信バイト数を設定したいんですが、
setsockopt関数への引数の与え方がわかりません。
Cでいうところの
int size= MAXSIZE
setsockopt(XX,XX,XX, *size, sizeof(size));

をperlでやりたいんですが、最後の第4、5引数の与え方がわからんです。
local $size=$MAXSIZE;
setsockopt(XX,XX,XX,\$size, 4);
とかやると引数の数が合わん、とおこられます。
packしようにもどうpackすればいいのか・・・
0549デフォルトの名無しさんNGNG
sprintfの仕様を勝手に変えるなよ(T_T)>Larry
0550デフォルトの名無しさんNGNG
>>549
どうゆうことですか?
0551デフォルトの名無しさんNGNG
>>550

ああ、勘違いするような書き方してスマソ
Cと同じ関数名を付けながら仕様を勝手に変えるなと書いたの。
0552デフォルトの名無しさんNGNG
>>548
my $size;
$size = getsockopt(S, SOL_SOCKET, SO_RCVBUF) or die "getsockopt: $!";
print "< SO_RCVBUF = ", unpack('i', $size), "\n";
setsockopt(S, SOL_SOCKET, SO_RCVBUF, 1024) or die "setsockopt: $!";
$size = getsockopt(S, SOL_SOCKET, SO_RCVBUF) or die "getsockopt: $!";
print "> SO_RCVBUF = ", unpack('i', $size), "\n";

C/C++でポインタとそれが指している領域の大きさをペアで渡す/返すような
APIの場合、PerlではPerl自身が変数の大きさも知っているため、領域の大き
さをやり取りする必要がない。また、API呼び出しでのポインタはPerlがラッ
プするため、変数そのものでOK。リファレンス渡すAPIってある?

あと、言うまでもないことだけど、
> setsockopt(XX,XX,XX,\$size, 4);
> とかやると引数の数が合わん、とおこられます。
という程度の間違いは、perldoc -f setsockoptすれば気付かないか?
0553548NGNG
>>552

ありがとです>詳しい552さん

>という程度の間違いは、perldoc -f setsockoptすれば気付かないか?

すみません。Internal Server Errorと errlogだけを頼りに
デバッグしてました・・・
0554デフォルトの名無しさんNGNG
突然、perlを練習するはめになりました。
でもMACだし、プログラムは超初心者だし、
どこから始めればいいのやら。
0555デフォルトの名無しさんNGNG
WindowsでPerl使いたいんだけど、
どれダウンロードしてくればいい?
JPerlってどうなの?
0556デフォルトの名無しさんNGNG
>>555

http://www.activestate.com/Products/ActivePerl/
0557555NGNG
>>556
ありがと
0558マジレスNGNG
>>554,555
もしこれから就職する学生さんや、新人さんだとしたら
中古のパソコン買って、LinuxでもなんでもいれてそれからPerl
やったほうがいいと思うです。

Perl-> tcsh -> csh -> awk, sed -> bsh
みたいなながれで。(逆行してるか・・・)

今職場でしみじみ感じるのが、やっぱりUNIXで、ダカダカダカッと
コマンド打ち込んで仕事してる人の方が数倍使えるってことです。
tarってなに?とか、viが使えないのでこのサーバには触れません、
とかいう人に囲まれてると、そう思いますです。
0559デフォルトの名無しさんNGNG
これからはviの時代なのか
viやらなきゃ..
0560デフォルトの名無しさんNGNG
>>558
ム板で何言ってんだ?
コマンドなんて知ってて当たり前。
言語覚える以前の話だろ。
0561デフォルトの名無しさん NGNG
HSPもやっといた方がいいのか   ドキドキ
0562デフォルトの名無しさんNGNG
>559 edの天下はすぐそこだ!
0563デフォルトの名無しさんNGNG
perl初心者だが、
サブルーチンに配列渡したいんだけど、
どうすんの?
下のソースじゃだめっだた。
まじれすでよとすく。


#!/usr/bin/perl

&main ;
exit ;


sub main
{
local ( $array ) ;

$array[ 0 ] = "aaa" ;
$array[ 1 ] = "bbb" ;
$array[ 2 ] = "ccc" ;

arrayTest( $array ) ;
}

sub arrayTest
{
local ( $localArray ) = @_ ;

print "0 = $localArray[ 0 ]\n" ;
print "1 = $localArray[ 1 ]\n" ;
print "2 = $localArray[ 2 ]\n" ;
}
0564デフォルトの名無しさんNGNG
>>563
http://www2.kiwi-us.com/~j_n/perl/ref.html
0565デフォルトの名無しさんNGNG
グローバルにすればよひよ 
0566デフォルトの名無しさんNGNG
>>563
My current enviroment doesn't allow me to write in Japanese :-(
Sorry for writing in English. m(_ _)m
But hope this helps.

----------------------------------------------------------------------
#!/usr/bin/perl -w

sub main
{
my @array = ('aaa', 'bbb', 'ccc');
print "main: \$array[$_] = $array[$_]\n" for $[ .. $#array;
print "\n"; test1(\@array); # giving the reference of @array.
print "\n"; test2(\@array); # ditto
}

sub test1
{
;# Here is an example of the type-glob to create an alias of the
;# array passed to this subroutine. Note that the variable
;# 'array' must be defined by using "local," not "my."
local *array = shift;
print "test1: \$array[$_] = $array[$_]\n" for $[ .. $#array;
print "test1: \@array = (@array)\n";
print "test1: \@array[0 .. 2] = (@array[0 .. 2])\n";
}

sub test2
{
;# Also, it's all right to set $array to $_[0] then derefer it as
;# @$array for the whole of it or @{$array}[...] for any slices.
my $array = shift;
print "test2: \$array->[$_] = $array->[$_]\n" for $[ .. $#$array;
print "test2: \@\$array = (@$array)\n";
print "test2: \@{\$array}[0 .. 2] = (@{$array}[0 .. 2])\n";
}

main();
0567 ◆KAIN40XE NGNG
>>563
#!/usr/bin/perl

&main ;
exit ;

sub main {
my @array;
$array[0] = "aaa" ;
$array[1] = "bbb" ;
$array[2] = "ccc" ;
&arrayTest(@array);
}

sub arrayTest{
my @localArray=@_ ;
print "0 = $localArray[0]\n" ;
print "1 = $localArray[1]\n" ;
print "2 = $localArray[2]\n" ;
}


そもそもスカラーと配列の書き方が..........
local ( $array ) ; でスカラーをローカル定義して
arrayTest( $array ) ; に渡したときの$arrayの中身は空です。
$array と @array は違います。
0568デフォルトの名無しさんNGNG
プログラム板のPerl使いの皆様。
WebProg板にて1chスクリプト改造が行われています。
是非ご参加を。

1chスクリプト解析$改造スレッド
http://pc.2ch.net/test/read.cgi/php/1007607631/
0569558NGNG
>>560
そっか。愚痴る板を間違えたか。失礼。
0570デフォルトの名無しさんNGNG
ファイルのN行目の削除ってどうすりゃいいの?
1行ずつ読みながら書き込んで、カウンタインクリメントして、
それがNならスキップする、以外の手段無い?
0571デフォルトの名無しさんNGNG
>>570
その方法が一番シンプルでないかい?
カウンタには$.をそのまま使える。

$. == $n || print while <>;

カウンタはclose文でリセットできるよ(←perldoc -f eof参照)。
0572デフォルトの名無しさんNGNG
>>571
むぅ…そうなのか。サンクス。
一発で行くような関数があれば楽だなぁと思ったが。
0573571NGNG
>>572
systemを使ってよければこんなのでもできる。一応1行(わら
system(qq[perl -i~ -ne "\$.==$n or print" "$filename"]);

# Windowsだとshellの関係で動かないかも?

$^Iをいたずらするという手は危険すぎるかな。
{
local ($^I) = ''; # バックアップを残したければ'.bak'とか'~'とか……
local (@ARGV) = ($filename);
$. == $n || print while <>;
}
うまくいかんかった。local(*ARGVOUT, *ARGV)とか入れてみたんだが。
0574デフォルトの名無しさんNGNG
>>573
無理にやろうとするとよけいに傷が拡がる気配がするので、
素人はループしてなさい、ってことですね(藁
0575デフォルトの名無しさんNGNG
>>572
UNIX 系列(Windows含む)の OS ファイルは
何らの構造も持たない単なるデータの列だからね。
(昔の汎用機はレコード構造を持ったファイルだとかあったらしい。
情報処理の試験くらいでしか見ないが。)
列なので頭から n バイト目という指定はできるけど、
改行がどこにあるのかは読んでみないと分からない。
0576デフォルトの名無しさんNGNG
s/OS ファイル/OS のファイル/
0577デフォルトの名無しさんNGNG
>>574
他に方法があるなら理論だけでも聞きたい。
0578571NGNG
>>577
行数の上限が1000行とか決まっているなら、
slurpしてspliceしてprintすればいいかも。
File::Slurp使うと吉。

# slurp: ファイル全体を一気に配列に読み込むこと。@lines = <>;
0579デフォルトの名無しさんNGNG
全部1つの変数にいれて、
$line=(split(/\n/,$file))[3]; #4行目が入る
とかどうでしょう。
0580デフォルトの名無しさんNGNG
age
0581デフォルトの名無しさんNGNG
>>563
サブルーチンに配列渡すときはリファレンスにすりゃいいんじゃない?
それだとマズイ?
0582名無しさん@EmacsNGNG
perl を勉強したいんですが、cygwin の perl と Active Perl ってどっちも
同じですか?こっちにしとけ(゚Д゚)ゴルァ っていうのあったら教えてください。
0583デフォルトの名無しさんNGNG
>>582

勉強程度ならどちらでもいい。
本格的にやりたいなら、そもそもWindowsなんて使うな。
0584デフォルトの名無しさんNGNG
じつはWinよりMacPerlのほうが使い勝手がよかったりする。
スレッドもシグナルもないけど。
0585デフォルトの名無しさんNGNG
>>582
どっちでもほとんど同じスクリプトが使えるからいいんじゃないの?
0586デフォルトの名無しさんNGNG
>585
文字コードのこと考えるのなら ActivePerl とか聞いたような。
0587デフォルトの名無しさんNGNG
すいません、WebProgの初心者スレからです。
子プロセスの同時起動数を親プロセスで制限しながら、
子プロセスで処理をしたいと思うのですが、中々上手くいかなのです。

1,
Perlpcによると '-' からのパイプをオープンしてプロセス間通信をしながら
親側で4引き数のSelectを使って、子プロセスからの入力を待つ。
という感じで可能かと思うのですが、これは正しく無いでしょうか。
2,
何となく自分で考えたのが下記の方法なのですが(これで行けそうな感じです)、
(子プロセスの処理開始時にダミーのディレクトリを作成、終了時に削除
を行って、親プロセスでその数を数えて管理しています)
何故か、70回位ループするとsleepの戻り値が0になってしまいその後は
sleepが効かなくなってしまいます。

どなたかご指摘ねがいます。
0588デフォルトの名無しさんNGNG
コードです、Perl5.6 on Cygwin で100%再現します、他の環境はいまからテスト
しようと思います。

$| = 1;
opendir (DIR,"./lock/");
while (1){
  $j++;
  $pid = fork();
  if ($pid != 0) {# 親です
    while (1){
      seekdir DIR,0;
      @dir = readdir DIR;
      if (@dir > 10){
        print "子の数が上限値です、3秒待ちます\n";
        if (sleep(3) != 3){
           print "sleep に失敗しました\n"
        }
      } else {
        last;
      }
    }
  } elsif ($pid == 0) {# 子です
    $time = int(rand(10));
    mkdir ("./lock/$j",0666);
    print "これは$j個めの子プロセスです、$time秒の処理をします\n";
    sleep ($time);
    rmdir ("./lock/$j");
    exit (0);
  }
}
closedir DIR;
0589デフォルトの名無しさんNGNG
>>588
> コードです、Perl5.6 on Cygwin で100%再現します、他の環境はいまからテスト
> しようと思います。
linuxじゃまったく問題なさそうだが。
0590デフォルトの名無しさんNGNG
>>587
> (子プロセスの処理開始時にダミーのディレクトリを作成、終了時に削除
> を行って、親プロセスでその数を数えて管理しています)
なんでpidを直接配列で管理しないの?
0591588NGNG
皆さん有難う御座います。
>589
本当ですか!、とFreeBSDでもOKでした。ActivePerlだとディレクトリが
キャッシュされるのか、MAXのまま無限ループです (泣
こういった方法は余りよくないのだろうか・・・・
>590
えと、続けて子プロセスを起こしたいからなのですが・・・
正直、良く分かっていないです。
waitを使うと完全waitになってしまって並列処理にならなくて、、、
SIG{PIPE}やSIG{CHILD}もちょっと違うようですし、、、
同時実行(10プロセス)で2000回程度の処理がしたいのです。

linuxならOKと言う事で良いのかなぁ・・
有難う御座います、もう一回読み直してみます => perlpc
0592589,590NGNG
>>591
これでどうよ。

$| = 1;
%children = ();
$SIG{CHLD} = sub {
 $p = wait;
 delete $children{$p};
};
while (1) {
 while (scalar(%children) >= 10) {
  print "子の数が上限値です\n";
  sleep;
 }
 $children{$pid = fork()} = 1;
 $j++;
 if (!$pid) {
  $time = int(rand(10));
  print "これは$j個めの子プロセスです、$time秒の処理をします\n";
  sleep($time);
  exit(0);
 }
}
0593(* ^ - ^ *)AGE!!NGNG
うわぁ、出来ました先生!>>592様有難う御座います 。

シグナルはこうやって使うんですね、デストラクタみたいと言うか・・・
面白いです。OSが良く分かって無いので、プロセスやシグナルの事が載った本を
読もうと思います。
今回は、失敗してプロセステーブルが溢れたり、ファイルに書き出しながらループ
してしまってファイルシステムが壊れたりと半鳴きだったのです。
上手く行って嬉しいので、次はプロセス間通信に挑戦します。
有難う御座いました && 良いお年を >>592さん
0594ばぶNGNG
こんにちはー。経営板からきた初心者というか全く無知です。自分で旅行サイトつくってるんですけど、
フォームデコードがうまくいきません。チェックボックスで複数選択して目的エリアと希望商品を複数選択して
入力するって作業なんですけど。

sub form_decord {
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else { $buffer = $ENV{'QUERY_STRING'}; }

#--フォームデータを分解--#
@parameters = split(/&/,$buffer);
foreach $element (@parameters) {
($parameter, $value) = split(/=/, $element);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

# SJISコード変換
&jcode'convert(*value,'sjis');

#--正規表現--#
$value =~ s/,/./g;

#--削除データがあれば配列に追加--#
if ($parameter eq 'delno') { push(@DEL, $value); }

#--目的エリアデータを変数に追加(スペース区切り)--#
if ($parameter eq 'street') { $street .= "$value "; }

#--希望商品データを変数に追加(スペース区切り)--#
if ($parameter eq 'hoop') { $hoop .= "$value "; }

$in{$parameter} = $value;
}

$page = $in{'page'};

これでだめだったんですが、なにか間違ってますでしょうか?
よろしくお願いします。
0595デフォルトの名無しさんNGNG
hoopじゃなくてhopeじゃないのか、というのはおいとくとして、
なにがどうだめだったのか、全然分からん。
たぶん、質問の仕方が一番間違ってる。
0596デフォルトの名無しさんNGNG
> #--正規表現--#
> $value =~ s/,/./g;

このコメントが微笑ましいと思った
0597ばぶNGNG
すいません。足りませんでした。複数選択すると、最後に選択したものしかデータに反映されてこないんです。
例えば、目的エリア関東、九州と選択して掲示板に登録したとすると、九州だけしか登録されてないのです。
どうしてもわかりません。お願いします。
0598デフォルトの名無しさん NGNG
フォームの内容を欠け
defineな変数をどんどん上書きしてるんだと思うが
0599596NGNG
目的のエリアの値を取得するときってどうしてる?

$in{'street'} で取得したらきっと、>>597に書いてある風な感じになると思うな。
代わりに$streetで取得したらうまくいくような行かないような。

なんか外してそうだが。
0600596NGNG
ちなみに、おいらはcgiは書かんから、599で書いたことはチョット適当。


     | ̄\     \          (´´
     |   |: ̄ ̄ ̄ ̄:|       (´⌒(´
     |   |:      .:| ≡≡≡(´⌒;;;≡≡≡
     |   |:      .:|≡≡(´⌒(´⌒;;
              (´⌒(´⌒;;
           ズザーーーーーッ


   _____
 /:\.____\
 |: ̄\ (*゚ー゚)\  <600 GET!
 |:   |: ̄U U ̄:|


        バタン !!
 _______
 | ̄\     \
 |   |: ̄ ̄ ̄ ̄:|
 |   |:      .:|
 |   |:      .:|
0601ばぶNGNG
フォームの内容はこんな感じです。
<tr><td nowrap align="right" valign="top">登録エリア/</td>
<td nowrap><input type="checkbox" name="street" value="北海道">北海道
<input type="checkbox" name="street" value="東北">東北
<input type="checkbox" name="street" value="関東">関東 <br>
<input type="checkbox" name="street" value="信越">信越
<input type="checkbox" name="street" value="北陸">北陸
<input type="checkbox" name="street" value="東海">東海 <br>
<input type="checkbox" name="street" value="近畿">近畿
<input type="checkbox" name="street" value="中国">中国
<input type="checkbox" name="street" value="四国">四国 <br>
<input type="checkbox" name="street" value="九州">九州
<input type="checkbox" name="street" value="沖縄">沖縄 <br>
<input type="checkbox" name="street" value="東アジア">東アジア
<input type="checkbox" name="street" value="東南アジア">東南アジア
<input type="checkbox" name="street" value="中央アジア">中央アジア <br>
<input type="checkbox" name="street" value="中東">中東
<input type="checkbox" name="street" value="アフリカ">アフリカ
<input type="checkbox" name="street" value="西ヨーロッパ">西ヨーロッパ <br>
<input type="checkbox" name="street" value="東ヨーロッパ">東ヨーロッパ
<input type="checkbox" name="street" value="北米">北米
<input type="checkbox" name="street" value="太平洋">太平洋 <br>
<input type="checkbox" name="street" value="オセアニア">オセアニア
<input type="checkbox" name="street" value="その他の地域">その他の地域 </td>
</tr>

<tr><td nowrap align="right" valign="top">おもな販売商品/</td>
<td nowrap>
<input type="checkbox" name="hoop" value="国内宿泊">国内宿泊
<input type="checkbox" name="hoop" value="海外宿泊">海外宿泊 <br>
<input type="checkbox" name="hoop" value="国内航空券">国内航空券
<input type="checkbox" name="hoop" value="海外航空券">海外航空券 <br>
<input type="checkbox" name="hoop" value="国内パッケージツアー">国内パッケージツアー
<input type="checkbox" name="hoop" value="海外パッケージツアー">海外パッケージツアー <br>
<input type="checkbox" name="hoop" value="その他">その他 </td></tr>
0602ばぶNGNG
変数はこんな感じです。
#--変数をセット--#
$name = "$in{'name'}"; # 事業所名
$state = "$in{'state'}"; # 所在地
$shihon = "$in{'shihon'}"; # 資本金
$manager = "$in{'manager'}"; #ご担当者名
$tel = "$in{'tel'}"; #ご担当者名
$mail = "$in{'mail'}"; # メールアドレス
$hp = "$in{'hp'}"; # HP
$area = "$in{'area'}"; # 販売エリアの有無
$street = "$in{'street'}"; # 目的地エリア
$hoop = "$in{'hoop'}"; # おもな販売商品
$comment = "$in{'comment'}"; # 会社概要・取り扱い商品概要等
$id = "$in{'id'}"; # ID
$pass = "$in{'pass'}"; # PASS
0603596NGNG
$street = "$in{'street'}"; # 目的地エリア
$hoop = "$in{'hoop'}"; # おもな販売商品

たぶん、この二つ外せばうまくいく
0604ばぶNGNG
ありがとうございます。やってみます。
0605ばぶNGNG
うーん。やっぱりだめでした。データにも1個しか登録されてません。
他に考えられることってなにがあるでしょうか?
0606デフォルトの名無しさんNGNG
登録する処理行ってるところのソースも見ないとよく分かんないね。
0607ばぶNGNG
sub regist {
if ($in{'name'} eq "") { &error("事業所名を記入してください"); }
elsif ($in{'state'} eq "") { &error("所在地を記入してください"); }
elsif ($in{'area'} eq "") { &error("販売エリアの有無を選択してください"); }
elsif ($in{'tel'} eq "") { &error("TELを記入してください"); }
elsif ($in{'mail'} eq "") { &error("メールアドレスを記入してください"); }
elsif ($in{'mail'} !~ /.+@.+\..+/) { &error("メールアドレスが不正です"); }
elsif ($in{'hp'} eq "") { &error("HPアドレスを記入してください"); }
elsif ($in{'street'} eq "") { &error("登録エリアを選択してください"); }
elsif ($in{'comment'} eq "") { &error("メッセージを記入してください"); }
elsif ($in{'id'} eq "") { &error("IDを入力してください"); }
elsif ($in{'id'} =~ /\W/) { &error("IDは半角英数のみで入力してください") }
elsif ($in{'pass'} eq "") { &error("PASSを入力してください"); }

#--変数をセット--#
$name = "$in{'name'}"; # 事業所名
$state = "$in{'state'}"; # 所在地
$shihon = "$in{'shihon'}"; # 資本金
$manager = "$in{'manager'}"; #ご担当者名
$tel = "$in{'tel'}"; #ご担当者名
$mail = "$in{'mail'}"; # メールアドレス
$hp = "$in{'hp'}"; # HP
$area = "$in{'area'}"; # 販売エリアの有無
$street = "$in{'street'}"; # 目的地エリア
$hoop = "$in{'hoop'}"; # おもな販売商品
$comment = "$in{'comment'}"; # 会社概要・取り扱い商品概要等
$id = "$in{'id'}"; # ID
$pass = "$in{'pass'}"; # PASS

#--タグを取り除く--#
if ($tagkey) {
$name =~ s/</</g;
$name =~ s/>/>/g;
$state =~ s/</</g;
$state =~ s/>/>/g;
$shihon =~ s/</</g;
$shihon =~ s/>/>/g;
$manager =~ s/</</g;
$manager =~ s/>/>/g;
$tel =~ s/</</g;
$tel =~ s/>/>/g;
$mail =~ s/</</g;
$mail =~ s/>/>/g;
$area =~ s/</</g;
$area =~ s/>/>/g;
$hp =~ s/</</g;
$hp =~ s/>/>/g;
$comment =~ s/</</g;
$comment =~ s/>/>/g; }
0608ばぶNGNG
#--改行コードをHTML化--#
if ($write_on){
$comment =~ s/\r\n/<br>/g;
$comment =~ s/\r/<br>/g;
$comment =~ s/\n/<br>/g;
} else {
$comment =~ s/\r\n//g;
$comment =~ s/\r//g;
$comment =~ s/\n//g;
}

#--PASSを暗号化--#
$m_pass = crypt($pass, "xx");


&lock1;
if ($area eq "0") {
if (!open(IN,"$nonlimitedfile")) {
&lock2;
&error("$nonlimitedfile ファイルオープンエラー");
}
}
elsif ($area eq "1") {
if (!open(IN,"$limitedfile")) {
&lock2;
&error("$limitedfile ファイルオープンエラー");
}
}

$line = <IN>;
($r0,$r1,$r2,$r3,$r4,$r5,$r6,$r7,$r8,$r9,$r10,$r11,$r12,$r13,$r14,$r15) = split(/\,/, $line);
#--既に同じIDが使われていないかチェック--#
if ($r14 eq "$id") {
&lock2;
&error("ご希望のIDは既に他の方が使用されています");
}
0609ばぶNGNG
#--最新の記事ナンバーをつける--#
$r0++;
$no = "$r0";
close(IN);

#--データを整形--#
$format = "$no,$name,$state,$shihon,$manager,$tel,$mail,$hp,$area,$street,$hoop,$comment,$date,$H_A,$id,$m_pass\n";

#--エリア限定なしの場合の登録処理--#
if ($area eq "0") {
&nonlimited_read("lock2");
$num = unshift(@DATA, $format);
if ($num > $maxlog) { pop @DATA; }

if (!open(OUT,">$nonlimitedfile")) {
&lock2;
&error("$nonlimitedfile ファイルオープンエラー");
}
print OUT @DATA;
close(OUT);
}

#--エリア限定の場合の登録処理--#
elsif ($area eq "1") {
&limited_read("lock2");
$num = unshift(@DATA, $format);
if ($num > $maxlog) { pop @DATA; }

if (!open(OUT,">$limitedfile")) {
&lock2;
&error("$limitedfile ファイルオープンエラー"); }
print OUT @DATA;
close(OUT);
}

&lock2;
0610ばぶNGNG
#--登録完了メッセージ--#
&html_head;
&title;
print <<"HERE";
<center><table width="100%">
<tr><td bgcolor="$top_t_bgc"><center>
<b>登録完了</b></font>
</center></td></tr></table><br><br>
<form method="post" action="$cgifile">
<table cellspacing="0" cellpadding="5" border="1">
<tr><td nowrap bgcolor="#FFFFFF">
<b>会員登録を受け付けました!!</b><br><br>
あなたのIDは「<b>$id</b>」です。<br>
あなたのPASSは「<b>$pass</b>」です。<br><br>

<font color="#CC0033">
会員に交際を\申\し込む場合はID・PASSが必要となります。<br>
また、登録内容を削除する場合は、PASSが必要となります。<br>
どちらもお忘れのないよう、くれぐれもご注意ください。</font>

</td></tr>
</table>
HERE

exit;
}

登録処理はこれで全部です。
0611デフォルトの名無しさんNGNG
チェックボックスのname属性を全部違うものにすればいいのかも。

<input type="checkbox" name="street" value="東北">東北
<input type="checkbox" name="street" value="関東">関東 <br>
↓
<input type="checkbox" name="street_tohoku" value="東北">東北
<input type="checkbox" name="street_kantoh" value="関東">関東 <br>

で、

#--目的エリアデータを変数に追加(スペース区切り)--#
if ($parameter eq 'street') { $street .= "$value "; }
↓
if (index($parameter, 'street') == 0) { $street .= "$value "; }

か。
0612ばぶNGNG
おお、ありがとうございます。やってみます。
0613デフォルトの名無しさんNGNG
if ($parameter eq 'street') { $street .= "$value "; }
   ↓
if ($parameter eq 'street') { $in{street} .= "$value "; }
だろ?
後で上書きしてるがな・・・
0614デフォルトの名無しさんNGNG
つーか何処まで値が入ってるかSTDINから順に確認しなさい
0615ばぶNGNG
611でできました!!ありがとうございます。

613でやったほうがいいんでしょうか?
0616ばぶNGNG
613でもやってみた結果入力されませんでした。
でも、これで安心してねられます。
ありがとうございました。大先生様
0617ばぶNGNG
あとできずいたんですが板チガイだったですね。
それにあげてしまってごめんなさいです。
0618名無しさん@EmacsNGNG
すみません。教えて貰えると助かります。

perl script で、標準入力から読み込んだデータを処理することを
考えてます。
標準入力から読み込んだデータの内容によっては、処理内容を
オペレータに問い合わせなければなりません。

ここで、

(1) 処理対象のデータを、
while <> { ... }
として全て処理したあとで、

(2) 内容によっては、
...
close (STDIN); <-- これは後から付け足したんですが、あっても
無くてもダメです。
...
open (TERM, '-');
$getnum = <TERM>;
...
などとして、オペレータに問い合わせようとしているのですが、

(2) の部分で標準入力 (端末入力) から読み込むことができません。
(1) で全て処理してしまってからは、標準入力から読み込もうとしても
eof になってしまうのでしょうか??

解決方法をご存知の方、いらっしゃいませんか??
0619名無しさん@EmacsNGNG
>>618

補足します。
618 の script は、

$ cat foo | bar.pl <-- この様に pipe でデータを受け取り、
1. parm1 +
2. parm2 | <-- 例えば、この様に listup して、
: |
n. parmn +
please input number => 1 <-- ここで端末入力を受け取る。
End

みたいな動作をさせたいと言うものです。
パイプやリダイレクトで標準入力を受け取ろうとすると、
以降は (例え close しても) eof しか受け取れないのでしょうか。

# 久し振りに post してますが、navi2ch で改行文字が無視されて
# しまってるみたいですね。いや navi2ch のせいでは無いのかな。
# これも改行が変だと、まともに読めない状態かもしれない。
# もし、そうだったらごめんなさい。
0620デフォルトの名無しさんNGNG
open(TERM, '/dev/tty');
0621デフォルトの名無しさんNGNG
>>619
> # 久し振りに post してますが、navi2ch で改行文字が無視されて
> # しまってるみたいですね。いや navi2ch のせいでは無いのかな。
> # これも改行が変だと、まともに読めない状態かもしれない。
> # もし、そうだったらごめんなさい。
変なのはnavi2chの表示だけだな。
2chの方で最近行頭に空白が入らなくなったらしい。

--- navi2ch-util.el.orig Thu Dec 27 10:52:23 2001
+++ navi2ch-util.el Thu Jan 17 01:06:30 2002
@@ -171,5 +171,5 @@
(insert str)
(goto-char (point-min))
- (while (re-search-forward " *<br> " nil t)
+ (while (re-search-forward " *<br>" nil t)
(replace-match "\n"))
(goto-char (point-min))
@@ -177,5 +177,5 @@
(replace-match ""))
(goto-char (point-min))
- (while (re-search-forward "&" nil t)
+ (while (re-search-forward "&?" nil t)
(replace-match "&"))
(goto-char (point-min))
0622デフォルトの名無しさんNGNG
お世話になります。
今日からPerlを勉強しているのですがわからないところがあるのでおしえてください。

$n=2;

while($n <= 100){

$div=2;
$prime=1;
#---------------------------------------------
while($div <= ($n/2)){

if(($n % $div) == 0){
$prime = 0;
Last;
}

++$div;
#--------------------------------
}

if($prime){
print "$n\n";
}

++$n;

}

$div; は#---のスコープ内だけが有効なのですか?
$n が3にカウントされると $divもスコープの下の$div++で+1されると考えたらよろしいのでしょうか?
ぜひ、教えてください。
0623デフォルトの名無しさんNGNG
>>622
> $div; は#---のスコープ内だけが有効なのですか?
んなこたーない。
0624デフォルトの名無しさんNGNG
お答えありがとうございます。
Last の 下の$divの値は+1されて再度,whileに戻るのですか?
ぜひ、教えてください。もう少しで解決できそうです。
0625デフォルトの名無しさんNGNG
Last ってなに?
last じゃないの?よく読んでないけど
0626名無しさん@EmacsNGNG
>>620

THX!!
解決しました。
何で気が回らなかったんだろう。やっぱり頭が硬いな。
0627名無しさん@EmacsNGNG
>>621

こちらも THX!!
2ch の仕様が変って、navi2ch が影響を受けたってことですね。
SourceForge に登録されて CVS に載ってから、あんまり見てなかった
もので。

# しかし proxy が cvs -d:pserver:... を通してくれないので、
# その恩恵を受けらんない。
0628デフォルトの名無しさんNGNG
サブルーチン内でopen2を使っている場合、
そのサブルーチンを複数回呼び出すと、
open2に差し掛かった時点で、
プログラムの一番最初に逆戻りしているという変な挙動をするのですが、
誰か、経験したことありますか?解決策はありますか?
0629デフォルトの名無しさんNGNG
簡単な例を。
0630デフォルトの名無しさんNGNG
sub main{
print "test";
@list={'親','子供','孫'};
foreach(@list){
&hyoji($_);
}
sub hyoji{
$moji = shift;
open2(IN,OUT,through);#throughというプログラムは仮に入力された文字をそのまま出力するとしましょう。
print OUT $moji;

$mojimoji = <IN>;
print "$mojimoji";

close(IN);
close(OUT);
}
汚いですが、こんな感じでjumanというプログラムを
open2で開くとしましょう。(宣言等は気にしないでください)
期待している出力は
test親子供孫 なのですが、
testtest親test親test子供test親test子供test孫
というような出力が返ってきます。謎すぎます。

もし、何かわかればよろしくおねがいします。
0631デフォルトの名無しさんNGNG
間違い
説明文の一行目×juman→○through
0632デフォルトの名無しさんNGNG
Perlのバージョンは?
以前Perl初心者スレッドに書かれていたfork()とバッファリング関係の問題だと思う。
0633デフォルトの名無しさんNGNG
バージョンは5です。
過去ログも読んで見ます。
0634デフォルトの名無しさんNGNG
Perl5でも、5.6か5.005.3かで違うとおもう...。
0635630NGNG
unixで使っております。
0636デフォルトの名無しさんNGNG
open2 ってforkしてpipeするじゃない?
だから頭でストリームのバッファをフラッシュする
定説ですが・・・
0637630NGNG
jperlの5.003かと思われます。
0638デフォルトの名無しさんNGNG
http://www.raiji.net/bbs/kaku.cgi/http://pc.2ch.net/test/read.cgi/php/1000267444/
の153-169
0639630NGNG
ストリームのバッファをフラッシュするというのは、
どうやって・・・?スマソ。
0640636 NGNG
フラッシュしたいファイルハンドルにselectして
secect FH;$| = 1;select STDOUT;
ていうかPerl上級者ってワロタよ>>638
0641636NGNG
>>638 は読んだ方が良いよ
0642630NGNG
ありがとうございます。
やってみます。
0643630NGNG
結局、IO::Handleのautoflush(1)を使って解決できました。
返事をしてくれたみなさまありがとうございました。

プログラムの頭で
use IO::Handle;
STDOUT->autoflush(1);
STDERR->autoflush(1);
を追加しただけです。
0644デフォルトの名無しさんNGNG
Perl6の情報キボン
0645名無しさん@EmacsNGNG
perl5.6 で unicode 処理ってはやい??
0646Damianたん ハァハァNGNG
>>644
6は面白いぞ。
オペレータオーバーロードに文法カスタマイズと何でも有りだ (あひゃひゃ
取り合えず海苔海苔のグルグルに取り込みまくって、
るび吉の「アレも出来ますコレも出来ます」を黙らせる!!!
但し思いっきり汚くなるだろから、その辺は勘弁な
それと使う前は半年位perlを辞めれ、鬱になるから  (てへっ
人のコード?? 読める訳ネーだろ!!  (・∀・;)わーぃ
0647デフォルトの名無しさんNGNG
>>646
Perlでも読めるコードを書こうと思えばいくらでもかける。
そう思うのはあんたのコードが汚いからだ。
0648デフォルトの名無しさんNGNG
>>647
一概に言えない、Ver違いで演算子が変わるような言語は
暗号製造機だよ
0649デフォルトの名無しさんNGNG
unixをしってりゃ便利な言語ですよ。manで関数マニュアルが引けますし。
0650デフォルトの名無しさんNGNG
perldocで、非ケルンと違いますノン。
0651デフォルトの名無しさんNGNG
質問です。

メール件名をMIMEエンコードしようと思って、
CGIファイルと同ディレクトリに「mimew.pl」
を設置して、メールのヘッダ情報記述部分で

$mimew = './mimew.pl';
require $mimew;
$subject = "[カタログ請求]";
$subject2 = &mimeencode($subject);

open (SENDMAIL, "| $nkf | $sendmail -t -n") || die;
print SENDMAIL "To: $recieve\n";
print SENDMAIL "Bcc: $bcc\n";
print SENDMAIL "From: $mail\n";
print SENDMAIL "Reply-To: $mail\n";
print SENDMAIL "Subject: $subject2\n";
print SENDMAIL "Content-Type: text/plain; charset=\"iso-2022-jp\"\n";
print SENDMAIL "Content-Transfer-Encoding: 7bit\n\n";

上記のようにしたのですが、エンコードされません。
なんででしょ?
0652デフォルトの名無しさんNGNG
GD.pm の代わりにimagerってモジュール見っけたんですけど、
使っている人いますか?ためしてみたんだけど、日本語フォントが
文字化けしてしまった。
いろいろインストールしなくてもこれだけで画像処理できるから
面白いとおもうのですが。
0653iyaaahahhahaaNGNG
うーむボンバーしとけ
身なんんぼぼぼぼぼぼbっぼぼっぼぼぼ
0654デフォルトの名無しさんNGNG
>>646
http://starship.python.net/crew/mhammond/pics/kick_camels_but.gif
>>647
「読める」「読めない」でそういうことを語るような状況はどうかと思うぞっっ。
0655デフォルトの名無しさんNGNG
>>651
ちゃんとcloseはしたか?
他に気になるところはなさそうだけど。
0656デフォルトの名無しさんNGNG
ActivePerl v5.6.1に対応したjperlってどこにあるんでしょ?
初心者なもんで、誰かおしえて〜〜〜
0657デフォルトの名無しさんNGNG
漏れはActivePerl v5.6.1に
http://www.vector.co.jp/soft/win95/util/se043908.html
これ入れて使ってる。
たぶん手の込んだことしなければ問題ないと思う。
0658656NGNG
>657
セクス!
ファイルの更新日付がアレだけど、使えるっぽいから大丈夫だね。
ありがと〜!
0659デフォルトの名無しさんNGNG
PerlでRubyのRDEみたいな開発環境ないの?
0660デフォルトの名無しさんNGNG
PerlEdit …はどこいったんだろ。

ActiveState の Komodo はいかが?
http://www.activestate.com/Products/Komodo/
0661デフォルトの名無しさんNGNG
Win32のActive Perl5.6.1使ってるんですが、
stat()関数と似た動作するものありませんか?
あるディレクトリ内のファイルかディレクトリかを区別したいだけ
なんですが・・・
0662デフォルトの名無しさんNGNG
-d
0663デフォルトの名無しさんNGNG
すみません。
perlのtimes関数の
ユーザーCPU時間とシステムCPU時間と違いって何なのですか?
0664デフォルトの名無しさんNGNG
さげてしまった・・・。
0665デフォルトの名無しさんNGNG
ユーザ => 自分で書いた部分の実行時間
システム => openとかreadとかOSに任せた部分の実行時間
0666デフォルトの名無しさんNGNG
システムCPU時間はユーザCPU時間に含まれているのですか?
それとも、実際の経過時間は(times)[0]+(times)[1]ってことですか?
0667デフォルトの名無しさんNGNG
timesって0.01の位までしかわからないのですが、
もっと多くの桁が得られる関数ってないでしょうか?
複数回実行するしかないでしょうか。
0668659NGNG
>>660
komodoよさそう。
ありがとう
Perlでテキスト編集できるエディタって知らない?
0669デフォルトの名無しさんNGNG
レス読まずにレス。

Perl はできるけど正規表現わかりません、って奴
迷わず逝け。
0670デフォルトの名無しさんNGNG
レス読まずにレス、って阿呆は
更に迷わず逝け。
0671デフォルトの7子NGNG
WIN2000+ActivePerl

でperl APIを使用したCプログラミングをしようと思っています。
Cのソース上で
#include <perl.h>し
VC付属のコンパイラで
>cl -I\Perl\lib\CORE perltest.c
とすると以下のようなエラーが出てしまいます。
おそらくperl.hで名前解決が出来てないためだと思うのですが、
ご存知の方アドバイスをよろしくお願いします。

**************************
\Perl\lib\Core\perl.h(797) : warning C4273: 'win32_strerror' :
しています。DLL にエクスポートされていると仮定します。
\Perl\lib\Core\dosish.h(111) : warning C4005: 'Stat' : マクロが再定
\Perl\lib\Core\win32.h(305) : 'Stat' の前の定義を確認し
\Perl\lib\Core\perl.h(1755) : error C2061: 構文エラー : 識別子 'pe
ンタックスエラーを起こしました。
\Perl\lib\Core\perl.h(1755) : error C2059: 構文エラー : ';'
\Perl\lib\Core\perl.h(1756) : error C2061: 構文エラー : 識別子 'pe
スエラーを起こしました。
\Perl\lib\Core\perl.h(1756) : error C2059: 構文エラー : ';'
\Perl\lib\Core\perl.h(1757) : error C2061: 構文エラー : 識別子 'pe
エラーを起こしました。
\Perl\lib\Core\perl.h(1757) : error C2059: 構文エラー : ';'
\Perl\lib\Core\perl.h(1758) : error C2061: 構文エラー : 識別子 'pe
ラーを起こしました。
\Perl\lib\Core\perl.h(1758) : error C2059: 構文エラー : ';'
\Perl\lib\Core\perl.h(2246) : warning C4273: 'win32_crypt' : DL
ています。DLL にエクスポートされていると仮定します。
\Perl\lib\Core\perl.h(2356) : warning C4273: 'win32_environ' :
しています。DLL にエクスポートされていると仮定します。
\Perl\lib\Core\perlvars.h(22) : error C2061: 構文エラー : 識別子 '
ックスエラーを起こしました。
\Perl\lib\Core\perlvars.h(22) : error C2059: 構文エラー : ';'
\Perl\lib\Core\perlvars.h(39) : error C2061: 構文エラー : 識別子 '
タックスエラーを起こしました。
\Perl\lib\Core\perlvars.h(39) : error C2059: 構文エラー : ';'
0672デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi/php/991313362/477-490n
0673デフォルトの名無しさんNGNG

Perlとは

PerlとはAd Hocの帝王。
PerlとはAd Hocの狂気。
PerlとはAd Hocの芸術。

Ad Hocが要求される時には最高だが
#なんか適当に作りたいときとか、
Ad Hocが必要ないところでは悪夢である。

そんだけのことだろう。
0674デフォルトの名無しさんNGNG
>>673とは

Ad Hoc覚えたて厨房
Ad Hoc覚えたて厨房
Ad Hoc覚えたて厨房

ですねっ!
0675初心子NGNG
正規表現について質問です。よろしかったら教えてください。
$_="aaa:bbb:ccc:ddd:eee"
という文字列があって、最初の":"が現れる位置で分割したいのですが、
/(.+):(.+)/;
だと最後に現れる位置で分割されてしまいます。
$1="aaa" $2="bbb:ccc:ddd:eee"にしたいのに、
$1="aaa:bbb:ccc:ddd" $2="eee"になってしまうのです。

どうかよろしく。。。
0676デフォルトの名無しさんNGNG
さいたんまっちとかじゃね?
0677デフォルトの名無しさんNGNG
(.+?):(.+) or ([^:]+):(.+)
0678初心子NGNG
>>676-677
キタキタキタキタキタキタ━━━━━━(゚∀゚≡゚∀゚)━━━━━━!!!!
出来ましたっ!ありがとうございます!
0679デフォルトの名無しさんNGNG
つぅーか、splitでやるってのはどうよ?
($first,$second)=split /:/, $_, 2;
ってスマートじゃなか?遅かったか〜
0680677NGNG
あ、>679のほが100万倍ほど賢こげだ  (−_−
寝る
0681初心子NGNG
>>679
そういうやり方もできるんですね。
勉強になりましたっ!
0682わかる人だけどうぞNGNG
自動アンケート作成の次期バージョン(?)が公開されたそうです。
http://snog.squares.net/index.html
の下のほうにある「プレゼント」よりDLできます。

自動アンケート内での関連箱(スレ)
http://snog.squares.net/vote2/htm/1013010926.html
0683デフォルトの名無しさんNGNG
Perlだいぶ覚えて、Cを勉強し始めて、
ようやくCの勉強一通り終わったと思ったらPerlの知識退化してたよ。

一般的なファイル処理くらいはできるからいいけど。
0684 NGNG
cryptってどういう処理してるんですか?教えてください
早急におねがいします
0685デフォルトの名無しさんNGNG
ソース見れば。
0686デフォルトの名無しさんNGNG
Perlのファイルハンドルが行バッファリング去れているかどうかを確認する方法を教えてください。
0687_gunzipNGNG
>>686
#!/usr/local/devel/bin/perl5.7.2-mt -w

use Inline C;

if (is_line_buffered($filehandle)) {
    do_something();
}

__END__
__C__

#include <stdio_ext.h> /* for glibc */

int
is_line_buffered(FILE *fp)
{
    return __flbf(fp);
}
0688デフォルトの名無しさんNGNG
>>687 domo domo
0689デフォルトの名無しさんNGNG
Perlでおすすめな開発環境はありますか?
エディタで書くとデバッグ面倒でいやん。
0690デフォルトの名無しさんNGNG
perl -d デバッガ使え。

0691デフォルトの名無しさんNGNG
あるgifファイルがあったときに、それが本当にgifファイルであるか
判別する方法を教えてください。
0692デフォルトの名無しさんNGNG
最初の3バイトが"gif"だったような
0693691NGNG
>>692
ありがとうございました。
下のようにすることにしました。

open GIF, $gif or die;
binmode GIF;
read GIF, $buff, 3;
my $id = '\x47\x49\x46';
if($buff =~ /^$id$/o){print 'This file is GIF format.';}
close GIF;
0694デフォルトの名無しさんNGNG
>>692-693
"GIF"では?
0695デフォルトの名無しさんNGNG
画像タイプを識別するモジュールくらいありそうなもんだが。
0696デフォルトの名無しさんNGNG
>>689
Emacs + cperl-modeはどうよ? 標準のperl-modeよりかなり強力。デバッ
ガはM-x perldbでエディタと協調して動くよ。
0697デフォルトの名無しさんNGNG
abc.cgi :起動ターゲットモジュール
をperlでラッピングして起動するために


my @buff = ()
@buff = <STDIN>
my $outbuff

open2(*IN, *OUT, "abc.cgi");
print OUT $buff[0];
print OUT $buff[1]; #2行で値がわたってきているのは確認。

while<IN>{
$outbuff = $_;
}

と処理をしているのですが、うまくいきません。
ログを見ると、モジュールのキックはしているが、処理がループしている
状態のようです。解決策がわからないので、どなたかおしえてください(;;

ちなみに環境は
REQEST_METHOD=POST
CONTENT_LENGTH=999
です。

0698デフォルトの名無しさんNGNG
MIME::Parse モジュール使ってメールのフィルタ掻いてます。

my $parse = new MIME::Parser;
my $entry = $parse->parse_data($mailstr);

ってやると見事にメールを解析してくれるんだが、
カレントディレクトリに msg-* ってファイルが勝手に作成されちまう。
output_dir()で指定してやったら指定したトコに msg-* ができるんだが、
この msg-* ってファイル出力を無くす方法ないのかな?

結構困るんだよね・・・ msg-*って・・・
0699デフォルトの名無しさんNGNG
>>698

マニュアル読めって...

output_to_core YESNO
*Instance method.* Normally, instances of this class output all
their decoded body data to disk files (via MIME::Body::File).
However, you can change this behaviour by invoking this method
before parsing:

If YESNO is false (the default), then all body data goes to disk
files.

If YESNO is true, then all body data goes to in-core data structures
This is a little risky (what if someone emails you an MPEG or a tar
file, hmmm?) but people seem to want this bit of noose-shaped rope,
so I'm providing it. Note that setting this attribute true *does
not* mean that parser-internal temporary files are avoided! Use
tmp_to_core() for that.

With no argument, returns the current setting as a boolean.
0700デフォルトの名無しさんNGNG
perlはある意味便利すぎ
0701698NGNG
サンクス! > 699

マニュアル読んだらファイル出力したほうがいいような気がしてきたよ・・・(w
0702John ◆0z.4Is5E NGNG
Perlが使えて、Rubyも使える人にとって
PerlとRubyってどう使い分ければいいと思う?
0703デフォルトの名無しさんNGNG
>>702
Perl は CGI プログラム作成のバイトに、
Ruby は趣味のプログラム作成に使ってる。
0704minaNGNG
横やりでごめんなさい。
Perlの質問させてください。
フレームA、Bに別れている、HTMLドキュメントで、
Aから、Bの現在のURLを取得しようと考えています。
Javascriptがだめだったので、Perlでは・・と思い、
いろいろ調べているのですが、見つかりません。
詳しい方のお力添えを。


ちなみに、Javascriptでは、Bが自ドメインなら可能でしたが、
別ドメインになると「許可されていません」のようなエラーが帰ってきました。


0705NRNGNG
perlスクリプトを使って
簡易サーバーとしているPCからルーターのグローバルIPアドレスを取得する
良い方法、ありませんでしょうか。
ローカルアドレスは
192.168.0.1 ルーター
192.168.0.2 サーバー(ルーターのnatを使ってwww/ftp/dns/smtp/popとしています)

環境変数をファイルに書き出すcgiをIP_check.cgiという名前で作成して
socketを使って自分自身のwww.hoge.com/IP_check.cgiへアクセスしてみたのですが
cgiプログラムが実行されずに、プログラム内容が書き出されてしまいます。

socketについて理解出来ていないのが原因だとは思うのですが...
どなたが何か良いアドバイスをお願いします。
0706705NGNG
スレ違いに気付きました
よそ行きます
0707ageNGNG
age
0708デフォルトの名無しさんNGNG
>>704
クライアントサイドとサーバサイドを混同していて要学習だが、結論は無理。
サイトが異なるクロスフレームスクリプティングはセキュリティ上制限されている。
0709YESNGNG
>>704

できるYO!
でもソースは忘れてしまった・・・ゴメン。

0710YESNGNG
JSでは、言うとおりできません。

できたのはPerlの話だよ、もちろん。
0711デフォルトの名無しさんNGNG
Perlを当て馬にしてみようと思います
0712抜粋ですが・・・NGNG
これはPerlでもむりだったよね?たしか。

704 の抜粋

>Perlの質問させてください。
>フレームA、Bに別れている、HTMLドキュメントで、
>Aから、Bの現在のURLを取得しようと考えています。
0713デフォルトの名無しさんNGNG
Perl はどこで動くんだろうか…
0714デフォルトの名無しさんNGNG
全フォームの送信すればよいんでないの?
0715補足NGNG
その後は環境変数から取れるね?
0716デフォルトの名無しさんNGNG
perlで取れるか?
別フォームの値。
708のいうとおりじゃないか?

0717デフォルトの名無しさんNGNG
>>709
思い出してくらはい。
うちでもその解決方法がわからんところです。
正直結構困ってる。
0718perl中級NGNG
もしできたら吉野家おごるよ。
味噌汁つけてもいいYO!
0719デフォルトの名無しさんNGNG
吉野家は無理だろう
せめて、牛丼にしてください^o^ ^^ ^^; ^^;; ^_^ `へ’
0720初心車NGNG
ActivePerl インストール時に出てくる

「Enable PPM3 to send profile info to ASPN?」

とはどういうことですか?
0721デフォルトの名無しさんNGNG
age
0722デフォルトの名無しさんNGNG
ここにいるかたは皆さん詳しそうですね。
ところでPerLDAPの解説してる日本語のページってどこかにありますか?
0723デフォルトの名無しさんNGNG
>>722
英語よめ英語
っつーかDAPの概要知っていれば日本語である必要ないじゃん...
0724棄教者 ◆witdLTi2 NGNG
>>722-723
>>723に同意.
日本語は確かに英語よりも安直だけど誤訳があるかもしれないし
正直 ぼくも某**s**のマニュアルの日本語版で誤訳を見つけたことがある
0725教えてくんNGNG
すみません。みなさま、教えてください。
パール初心者です。
フォームで作ったテキストボックスに
半角数字のみの入力だけにしたいのですが
正規表現をどのようにすればいいでしょうか?

if($hoge =~ /[^0-9]/){ $error1;
}else{ $true; }

だと、少数が表示されません。
かといって、
if($hoge =~ /[^0-9]\.{1}/){ $error;
}else{ $true; }

としてみてもだめです。
助けていただけたら幸いです。
初心カキコでごめんなさい。
0726デフォルトの名無しさんNGNG

$hoge -= 0;

warningsオンにしてると小うるさいので、その場合は

{
my $is_nan;
local $SIG{__WARN__} = sub{ $is_nan++ };
$hoge -= 0;
if($is_nan){ # 数値じゃなかったらしい
$ ...
}else{ # どうやら数値だったようだ
# ...
}
}
0727デフォルトの名無しさんNGNG
あってる?

if ($hoge =~/^[0-9]+\.?[0-9]*$/) {print "マッチ";}
else {print "マッチせず";}
0728棄教者 ◆witdLTi2 NGNG
簡略化した小数点表記を認める場合
( E.g. .333 など)
/^[0-9]*\.?[0-9]*$/

符号を認める場合
( +24, -3 など)
/^[\+\-]?[0-9]*\.?[0-9]*$/

指数を認める場合
( 1.79e2 など)
/^[\+\-?[0-9]*\.?[0-9]*(e[\+\-]?[0-9]*)?$/i

自身がないです
0729みんなPerl嫌いヤネ...NGNG
自分も嫌いなのですが使ってた掲示板(Force 264)
が突然動かなくなってソース見てどこが悪いのかを探してるのですが、
Perl(CGIとして)でサブルーチン大漁に作ったり(Cみたいに)、インデントしまくったりすると
どれくらい遅くなるのでしょう。

うちのサイトは210人/日 ぐらいなのでどうでも良いような気もしますけど(爆)

あと無料鯖でC使える所ってありますか?
0730カジNGNG
shellの覚醒と解放・・・・
こりゃゼーレが黙っちゃいませんな。
0731デフォルトの名無しさんNGNG
漏れは、なんもプログラミングとかやったことないけど、最近やりたいな〜〜とか思い出してきたんですけど、いきなりPerlから入るって邪道??
やっぱりCとかから入るべき??
0732デフォルトの名無しさんNGNG
日常で使いたいならperlのがいいよ>731
文字列に対して正規表現、OLEやDBが簡単に使えるし。
Cはもっと速度を上げたいとか単体実行させたくなったら覚えてけば
0733デフォルトの名無しさんNGNG
あぁなるほど〜〜〜
貴重な話をども〜〜〜〜〜
0734デフォルトの名無しさんNGNG
openperlide良いね。
0735棄教者 ◆witdLTi2 NGNG
>>731
>>732に禿堂.
C/C++は決して悪い選択肢ではありませんが訳の分からないエラーが出て
プログラム的な思考法に慣れていないとにっちもさっちもいかなくなって
投げ出してしまいます
Perlでプログラム的な思考法に慣れてすらすらプログラムが書け,
実行速度に不満を持つようになったらC/C++に進むといいでしょう

ちなみにぼくは上に書いたことをそのまま実践しています
0736デフォルトの名無しさんNGNG
perl と mod_perl って別物なの?
mod_perl は perl が入ってないと使えないの?
0737デフォルトの名無しさんNGNG
>>736
同じ物なんだけど、Java AppletとJava Servletの違いみたいに実行する環境が違う。
mod_perlはperlが内部で使うライブラリをApacheに組み込むわけだから、「Perlは必要」。

と言ってもそれはビルドする時だけ必要なのであって、
実行する時には「不要」

だからインストール後に

 # rm /usr/bin/perl

とかしても平気。

 # rm -rf /usr/lib/perl5

とかは辛いけど。
0738デフォルトの名無しさんNGNG
>>737
 mod_perlはApacheにperlを使うためのモジュールを組み込むだけなんだ
から、perl本体を消したらダメだと思うが・・・
 うそを教えようとしてるのか?
 # rm /usr/bin/perl なんて実行したら大変なことになるはず
0739デフォルトの名無しさんNGNG
>>738
やってみて言ってる?

仮に「mod_perlは、Apacheが直接/usr/bin/perlを使う物」だと仮定して、
その処理の過程を想像してみてください。
手続きがCGIと何ら変わりなくなります。
0740デフォルトの名無しさんNGNG
>>739
 OSがWindowsXPでActivePerl対応のmod_perlを使っていると
ディレクトリの構成がlinuxなどとは違うのかとも思われますが。

 mod_perlというのはApacheに組み込まれるmod_****という名
前のApacheのモジュールの一種ですよね。
 結論としては「Perlのモジュールやライブラリを含むPerl関係
のファイル全体がないとmod_perlは使えない」だと思うけどなあ。
 >>739のいうやり方だとCgi.pmなんか使えなくなるんじゃないの
かな?

 >>736の人は技術評論者のWEB+DB PRESSの第1号を読ん
でみるといいのではないでしょうか?ちょっと古いけど。

0741デフォルトの名無しさんNGNG
いいから、やってから言おうってば。

Apacheに組み込まれるのはperl.soとかあくまでもperlの一部であって、
bin/perl ではない。
ActivePerlだとしても同じだよ。試しに
 - C:\Perl\bin\perl56.dllをリネームしてApacheを再起動した場合
- C:\Perl\bin\perl.exeをリネームしApacheを再起動した場合

をそれぞれ試してみると良いよ。perl56.dllを弄った時だけ起動できなくなるから。

Cとか他の言語からPerlの機能を使うときは、perl本体ではなくて、
perlのライブラリを読み込んで使うのです。
0742デフォルトの名無しさんNGNG
 だから>>736の質問がperlインタプリタの本体がないとダメなのか
という意味なら>>737の答えでも良いんだろうけど、モジュールやラ
イブラリも含むperl全体のことだったら>>740みたいな答えになると
思うが。

 結局mod_perlとperlは別のものだがmod_perlを組み込んだApache
をちゃんと使おうとするとperlがないと困るという答えになるんじゃない
か?
0743デフォルトの名無しさんNGNG
mod_perlにはPerlが必要だがperlは不要。これでいかが?
0744デフォルトの名無しさんNGNG
>>743
 ま、そういうことで・・・(^^
 ところで質問した人わかったのかな。どこへ行ったんだろう。
0745デフォルトの名無しさんNGNG
誰か教えてください!!
10日でできるPerl/CGIという本をかって、
付属ソフトをインストールしたんですが、書いてある通りに
なりません。Apacheを起動して、ブラウザで
指定アドレスにいってもあの通りにならないんです。
Description: internal error - server connection terminated
とでます。何が間違っているんでしょうか?
せっかく買ったんだから使いたいです。
誰かわかる人いませんか?
0746デフォルトの名無しさんNGNG
ApacheじゃなくてANHTTPDあたりで試してみたら?
0747煽りNGNG
>>745
君、騙されたんだよ。あの本は結構苦労するよ。
あ〜あ、もったいない。お金どぶに捨てたね。
0748煽りNGNG
で、こんなソリューションはどうすか。

結城浩 氏のページ
http://www.hyuki.com/

ApacheよりAN Serverがお勧めだ。こっちでやれば?
http://www.st.rim.or.jp/~nakata/

健闘を祈る。
0749煽り−しつこくでごめんよNGNG
で、Apacheのhttpd.confとかの話だったら板違い。
「10日でできるPerl/CGI」は文法だけ読めば。
0750デフォルトの名無しさんNGNG
>>745
 本に書いてあるとおりにやってもうまくいかないことが多いですよ。根気が
大事。

 OSはWindows?Linux?それとも他のOSですか?
 「指定アドレス」というのは127.0.0.1とかlocalhostとか192.168.0.1のことですか?
 「あの通り」とはどの通りなのでしょうか?Apacheのインストール成功画面のこと
ですか?
 Apacheのhttpd.confを正しく設定されましたか?

 もうちょっと詳しく情報を。
0751デフォルトの名無しさんNGNG
簡単なネットワークアプリならさらっと書けるからいいね。
書いてすぐ実行は手軽でいいよ。makeするのはメンドクサイ。

大きなものは当然、C/C++やJavaだけど。
0752デフォルトの名無しさんNGNG
AN HTTPは簡単に苦楽できちゃうから・・・。
0753煽り−NGNG
>>752
cgi作るだけならAN で十分だろ。本人も10日で覚えようとしてるんだし。(w
それにあの本の「ロールプレイングゲームをつくろう」のコードは
Apache だとうまくいかなかったような気がした。(10日で覚えるシリーズの
改訂版ではどうなってるかしらんが。)

とりあえずご参考

http://www.harukaze.net/~mishima/perl/cgi-debug-env/dev-env.html
(とりあえずPerlEditor使っとけ)
0754745NGNG
>>750
OSはWindowsです。
指定アドレスは
http://127.0.0.1/
です。
あの通りとは、ブラウザで起動が成功したことを
あらわす画面です。
httpd.confはCD-ROMの設定済みのファイルを
上書きしたのでまちがってないと思います。
ちなみに、手動でも試したのですがやはりだめでした。
0755デフォルトの名無しさんNGNG
ホスト名を指定していないか、ポートが違っているに一票
0756745NGNG
127.0.0.1が
ローカルホスト名だそうです。
意味がよく分かりませんが。
これとは違うのでしょうか。
0757デフォルトの名無しさんNGNG
オレも同じ本もってるぞ。
本の1ページ目からまねしてやれば自分のマシンでアパッチェサーバーが動き感動するぞ。
自分のマシンでウェブサーバーが動いてるっていうのが感動なんだよね。
0758745NGNG
いやまねしてもならないんですよ。
書き換えるトコロは
付属のソフトから上書きコピーしましたか?
0759デフォルトの名無しさんNGNG
上で話の出た本のタイトルって「10日でできるPerl/CGI」じゃなくて
「10日でおぼえるPerl/CGI」じゃないの?前者は検索しても見つから
なかった。内容は俺の持ってる後者と同じっぽいし。ちなみに作者は
高橋大吾氏。

で、俺もこの本を入門用に買ったんだけどそんなに悪い本なのか?
具体的にどう言う風に?>>747
0760デフォルトの名無しさんNGNG
>>758
757じゃないが、俺は手打ちでhttp.confの設定変えたよ。
もちろん問題なく動作した。
0761デフォルトの名無しさんNGNG
httpd.conf が腐ってるか、間違った場所に置いているかで
Apache が起動してないんだろうな。
0762757NGNG
オレは上書きして動作させた覚えがある。
よし!それじゃあ部屋から本を探してきて久しぶりにアパッチェつかってみてそれからだな、オレが相談にのれるは。
自分のマシンをサーバーにするのは将来WEBビジネスでもうけるための第一歩だ。
0763745NGNG
みなそん、親切で嬉しいです。
置いているフォルダはconfなので
まちがってないと思います。
まったく原因がわかりません。
0764煽り−NGNG
>>759
別に悪いとは思わない。だから「煽り」なんだって。
でも個人的にはBlackBookの「Perl&CGI」と、通読しないと
良く分からん「Perlで作るCGI入門・応用編(結城浩著)」が
最初は良いと思う。
ラクダは買った事無いし、いいとは思わん。

俺は勉強してしばらく経ってから「10日で覚える・・」を買った。
ロールプレイングゲームがApacheで動かなかっただけで、特に
悪いとは思わない。

で、今回のご参考

Perlの統合開発環境を発見
http://homepage1.nifty.com/wizman/app/perlfactory/index.html
0765デフォルトの名無しさんNGNG
>>754
 WindowsであればどのドライブにApacheやPerlをインストール
しましたか?
 C:\以外にインストールした場合はhttpd.confの設定を変えない
とうまくいかないと思いますが。
 例えばDドライブにインストールした場合、
  ServerRoot "C:/Apache"
を
  ServerRoot "D:/Apache"
に変えないといけません。

 いずれにしてもPerlとは話題がずれますのでここでこれ以上話
をするのも何だと思いますが。
0766デフォルトの名無しさんNGNG
Apacheスレ@Webプログラミング板

Apacheの設定を教えてください
http://pc.2ch.net/test/read.cgi/php/1003772635/
0767757NGNG
この10日でおぼえるPerl/CGIの付録CD-ROMを本のとおりに実行したらオレは1発で成功したぞ。
http://127.0.0.1/
にアクセスすると
あなたの予想に反して、このページが見えているでしょうか?
というメッセージが表示された。
アパッチェ起動成功までの過程はこんなところだ。
まず本と付録CD-ROMを探してくる。
自分のOSはwindowsXP Proffessional Editionだったのでまずアパッチェをインストールする前にIISサーバーを停止させる。
とにかくまずはアパッチェ以外のウェブサーバーを停止させよう。
なんのことか意味がわからなかったら今までにウェブサーバーを使ったことがないということで、つまりアパッチェ以外がインストールされている可能性が少ないのでここは気にしなくてよいだろう。
アパッチェをインストールする前にハードディスクのバックアップをとったほうがよいが、それも時間のかかる話なので俺はパソコンにもしものことがあったら745になんとかしてもらうということで思い切ってインストール決行。
0768757NGNG
CD-ROM \ Perl \ APi522e.exe
付録CD-ROMのPerlフォルダにあるAPi522e.exeを実行。インストール中はnextボタンをどんどん押していけばいい。
これでActive Perlのインストールは完了。
つぎはいよいよアパッチェをインストールするのだがこれのインストール中にはnextをクリックしまくってはいけない。
CD-ROM \ Apache \ apache_1_3_14_win32_r2.exe
インストール中にインストール先を聞いてくるからこのインストール先を本は変更してくれと言っている。
だからインストール先をC:\Apacheに変更。
インストール中に何も考えずにマウスをクリックしまくるとインストール先の変更をしないでインストールが完了してしまう。
apacheのインストールが完了したらapacheの環境設定ファイルhttpd.confをCD-ROMからハードディスクにコピーする。
さらにコピーしたあとにhttpd.confのプロパティを開いて読み取り専用属性を解除しておく。
CD-ROMに収まっているファイルはすべて読み取り専用になっているのでこれからもCD-ROMからハードディスクにコピーしたファイルのプロパティを変更するのを忘れないようにする。
0769757NGNG
今の時点でハードディスクには
C:\Apache
C:\Perl
というフォルダが作成されている。
それからwindowsのスタートメニューからStart Apacheのショートカットアイコンを選択し起動。
apache running
と表示されていればアパッチェは起動している。
ここらでアナログ回線などのダイヤルアップでインターネットをやっているばあいはブラウザのインターネットオプションの接続を「ダイヤルしない」に設定しておいたほうがよいぞ。
なにしろサーバーが自分のマシンにインストールされてるんだからインターネットに接続しなくてよい。オレはアナログ回線でがんばってるんだぞ。
それからブラウザを開きアドレスバーに
http://127.0.0.1/
を入力。
そうすると あなたの予想に反して 何かが起こるわけだ。
まずはいろいろ削除してはじめからやってみて、それでもダメだったら再び原因を考えるよ。
成功したら最新のアパッチェをダウンロードしてくるのがよい。
それよりスレちがいの警告がでてるらしいぞ。
0770745NGNG
最初から全部やってみました。
やはりダメです。
Description: internal error - server connection terminated
と出ます。何がいけないかまったくわからないです。
スレ違いと言われても、どうすれば・・。
0771757NGNG
Description 種類、タイプ
internal 内部の
error エラー
connection 接続
terminated 終える+ed
接続切れエラーか?
ブラウザの設定やアンチウィルスソフトの関係でApacheが終了する可能性はある。
あまりセキュリティアップするとパソコンも何もできなくなるというこったな。
まずはwindows関係のパッチファイルやサービスパックを当ててからブラウザの各種設定を初期にもどし、
さらにアンチウィルスソフトを削除してみて実験するのもよいんじゃない?
もちろんその間はメールの送受信はやめて、アパッチェの実験が終わってアンチウィルスソフトをインストールするまでは目的以外の操作はしない。
どのぐらいのセキュリティ設定で何が動くかは把握しておく必要がある。
もとのセキュリティ設定がどんなだったか忘れた場合は
OSの再インストール&windows update(サービスパックインストール)
をしただけのまっさらな状態で実験したらいいんじゃない。
0772板違いなら謝るNGNG
Perlをなんとか使い始めて1年。未だにわかんない事があります。
どうしてもソースが数千行になってしまいますな。
おかげで何日かたつと自分でなんだかわからず、解読にかなり時間が生じる
ありさま。

それとも、もともとPerlなんてこんな出来なのか?(んなわけないか?)

Cみたいにソースを分けるやり方やってる人っていますか?
0773板違いなら謝るNGNG
>>772
なんか行が入れ替わってるんですけど。

Cみたいにソースを分けるやり方やってる人っていますか?
それとも、もともとPerlなんてこんな出来なのか?(んなわけないか?)
0774棄教者 ◆witdLTi2 NGNG
>>772-773
自分の書いたプログラムにコメント入れていますか?
再利用可能なコードはサブルーチン化, モジュール化していますか?
require使っていますか?
0775772NGNG
>自分の書いたプログラムにコメント入れていますか?
>再利用可能なコードはサブルーチン化, モジュール化していますか?

うん。そしているつもり。オブジェクトも使ってるよ。my($this)=shift
なんつったりして。
それでも縦になが〜いプログラムになっちゃうのよね。
C++みたいなきれいなツリーができるとうれしいんだがな。鬱
0776棄教者 ◆witdLTi2 NGNG
require使っていますかと問いつめたい
0777デフォルトの名無しさんNGNG
777ゲット
       v
     <(゚ω゚) <うっ!
      (  )\        
      /'>

       v
      (゚ω゚)> <はっ!
     /(  )        
       <'\

       v
     <(゚ω゚)> <うっ!
      (  )        
      /'>

       v
      (゚ω゚)/ <はっ!
     /(  )        
       <'\

     v       w
    (゚ω゚)/ \(゚δ゚)<ジーンギスカーン!
   /(  )    (  )ゝ
     <'\    / >

0778デフォルトの名無しさんNGNG
>>771
Description を '種類' とか 'タイプ' とか訳す奴は、プログラマ止めた方が
いいぞ。
0779デフォルトの名無しさんNGNG
>>772->>773, >>775
Perl でも Sub, Require 等があるから、別に C と同じだと思うけど...。
まあ、その前に数千行にも及ぶプログラムを Perl で組むのはどうかと思う
が...。
0780それじゃー聞くけどよーおめーらNGNG
画面を10個ぐるぐる回しながら動かすcgiの画面の部分も別ファイルにしてrequireします?

自分の場合、別ファイルにするのは
�@レコード(package Hoge)
�A自作した汎用関数(変数をハッシュに入れるなど)
なんですよね。制御部分はどうしても1つのファイルに書いてしまう。すると

#!/usr/local/bin/perl -w
require 'HogeHoge.pl';
require 'Hogge.pl';
 ・
 ・
に始まって、
sub Hoge{
}
sub hogeccho{
}
 ・
 ・
sub OgeOge{
}
てな具合に関数がドバッと縦に並びます。これがなんだかスパゲティなんですな。
どないです?
0781デフォルトの名無しさんNGNG
>>780
Perl 勉強する前に、日本語勉強したら ? 何をしたいのか全然わからん。
0782デフォルトの名無しさんNGNG
日本語がスパゲッッッティィィィ
0783デフォルトの名無しさんNGNG
>>781-782
>>773読め。わからんなら黙ってて。

0784デフォルトの名無しさんNGNG
っつうかもういいわ。ここで聞いたのが間違いだった。
0785デフォルトの名無しさんNGNG
画面を10個ぐるぐる回すっていう意味がわからない。
そういうスクリーンセーバーなら見たことあるけど。
0786デフォルトの名無しさんNGNG
>>783->>784
ハァ ? ソース分けたいんなら、require で十分だろうが。
わけわからんことばっかり言うならもうくんな。
0787デフォルトの名無しさんNGNG
>>786
おめーに聞いちゃいねーーんだよ。
でも、もう解決したからいいよ。チンカスPGちゃん。(W
一生懸命俺のレス読んでくれたのね。どうもありがと。(爆


0788デフォルトの名無しさんNGNG
(´-`).。oO(春ですねぇ。。。)
0789デフォルトの名無しさんNGNG
だねぇ。まあ、>>787 は、人生がスパゲッティなんだろうねぇ。
0790デフォルトの名無しさんNGNG
Perlのような言語でも、他の人のスクリプトを解析するのは勉強になりますか?
CGI関連だと、手ごろにたくさん入手できそうなのですが。
0791棄教者 ◆witdLTi2 NGNG
>>790
勉強になりますが 春休みを利用してこのスレを荒らしている誰かさんのコードは
反面教師になると思います
標準で付いてくるパッケージを読むのが一番勉強になると思われ
cgi.pm はインターフェースや取説の面でもかなり参考になりました
0792デフォルトの名無しさんNGNG
だれかDescription訳してくれー
cf:
>>778
0793デフォルトの名無しさんNGNG
perlのことなのかわかりませんが、
表示する文字列を強調するときに使う
print "\e[7m hogehoge \e[m";
の \e[7m などは何なんですか?
0794デフォルトの名無しさんNGNG
perlとは関係ありません。
0795 NGNG
�x004b;
0796デフォルトの名無しさんNGNG
>>794
なにで検索したら引っかかります?
できれば他のもしりたいので。
0797デフォルトの名無しさんNGNG
>>796
escape sequence
http://www.nifty.ne.jp/forum/fpcu/dosvcmd/ansi.htm
0798デフォルトの名無しさんNGNG
えんいー
0799デフォルトの名無しさんNGNG
>>791
アドバイスどうも。
まずは標準でついてくるライブラリーからいじくってみたいと思います。
0800デフォルトの名無しさんNGNG
>>796
リンクどうも。助かりました。
0801デフォルトの名無しさんNGNG
2ちゃんで唯一まともなPerlスレをやっと見つけた、、。
少ないね、Javaとかに比べると。
0802デフォルトの名無しさんNGNG
>>801
WebProg板はご存知かな?
http://pc.2ch.net/php/
0803デフォルトの名無しさんNGNG
Perlのような文字処理がC++でやれれば
C++で十分。

ってか、今後はJAVAかC#をメインに行こうかと思うです。
個人的にPerlのいい所って文字列処理ぐらいです。
0804 NGNG
けいやくしてるプロバイダがHTMLとPerlで書いたCGIしか使っちゃだめだっていってるんだもん。
だからPerlは今の個人ホームページ作者にとっては大事だよ。
0805棄教者 ◆witdLTi2 NGNG
>>803
それはごもっともですが Perl のいいところは使い捨てにできるくらい簡単にコードが書けるところです
ぼくはヘビーなプログラムはC++で, そうでないプログラムは Perl で書くようにしています
0806デフォルトの名無しさんNGNG
電話番号 12-3456をから、ハイフンをとって、123456とする
perlのスクリプトをどなたか教えてください。文字列の真中の
空白のとり方がわかりません。
0807デフォルトの名無しさんNGNG
ハイフンを取りたいのか空白を取りたいのかが文章からわからないんだが。
とりあえず、
$num =~s/\D//g;
0808デフォルトの名無しさんNGNG
$num =~ tr/0-9//dc;
0809806NGNG
>>807
>>808
~s/\D//gの//ての中身って空白文字じゃなくて、虚無なんですね?
勘違いしてました。すいません。
0810デフォルトの名無しさんNGNG
s/\s//;
0811デフォルトの名無しさんNGNG
Perlのいいところは「自分はやっつけ仕事をしている」という自覚を
常に持たせてくれること。
C++とかJavaだと、しょうもないプログラムを書いていても
まともな仕事をしていると錯覚してしまう。
0812デフォルトの名無しさんNGNG
ソフト板「SAKURAエディタ」スレとマルチっぽいんでゴメソなさい。
readline ってどんな関数(演算子?)なんでしょう?
とりあえず print readline(STDIN); のような感じでうまく動くっぽいんだけど
ラクダ本にも texinfo にも載ってないし。
0813デフォルトの名無しさんNGNG
WindowsでActivePerl最新版使ってるんですけど、

perl -e "print (256**2)+256"

と

perl -e "print (256**2)+255"

が同じ 65536 になるのは何故?
0814デフォルトの名無しさんNGNG
すいません。単なる演算子の順位でした。
0815デフォルトの名無しさんNGNG
>811
あと、再利用する時の事とか、他人が読む時の事とかも、考える必要が無くて良いNE!
0816812NGNG
解決っ
ttp://www.rocketaware.com/perl/perlfunc/readline.htm
ソフト板「SAKURAエディタ」スレの方で URL 教えていただきました。
0817デフォルトの名無しさんNGNG
分からないので質問です。

Perlの拡張正規表現(?>パターン)についてなんですけど、

CGIの掲示板で入力されたものに対してHTMLのあるタグ以外を
禁止する処理をしているのですが、
例えば<hr>以外のタグを禁止にする場合、

$comment=~s/(?><hr>)</&;/;
$comment=~s/(?><hr>)>/>/;

ではだめでしょうか?
0818817NGNG
訂正。
$comment=~s/(?><hr>)</&lt;/;
$comment=~s/(?><hr>)>/&gt;/;
0819棄教者 ◆witdLTi2 NGNG
<HR WIDTH="200">にも対応できるとありがたい
0820デフォルトの名無しさんNGNG
実験くらいしる
0821817NGNG
実験してできないんだよ。
説明ページもほとんど無し。
0822817NGNG
つーかラクダ本にも載ってないのはどうよ?
0823デフォルトの名無しさんNGNG
ラクダ本は掲示板を作るためのハウツー本じゃないです。わらぃ
こんなのはどうですか?

# タグを全て排除
$comment =~ s/</</g;
$comment =~ s/>/>/g;

# hr タグだけ復活
$comment =~ s/<hr(\s+width=(["']?)\d+%?\2\s*)?>/<hr$1>/ig;

これなら <hr> <hr width=80%> <hr width="400"> <hr width='60%'>
の全てに対応しています。
すンごくごちゃごちゃしてるけど,原理がわかれば応用も利くですよ。
0824823NGNG
あー,やってもたー。いつも気をつけてるのに・・

#タグを全て排除
$comment =~ s/</&lt;/g;
$comment =~ s/</&gt;/g;
# hr だけ復活
$comment =~ s/&lt;hr(\s+width=(["']?)\d+%?\2\s*)?&gt;/<hr$1>/ig;
0825823NGNG
(;゚Д゚)ノ 落ち着け自分
誤 $comment =~ s/</&gt;/g;
正 $comment =~ s/>/&gt;/g;
0826823NGNG
すんません。817さんが何を問題にしてるか今気づいたっす。
> ラクダ本は掲示板を作るためのハウツー本じゃないです。わらぃ
これ,私の方がマヌケでした。ごめんなさい。。。(-_-)ウツダ
0827778NGNG
>>792
辞書ぐらい引いたらどうよ ? それもメンドイなら、Microsoft Bookshelf とか
買っといたら ?

Description: 記述,叙述,説明,(言葉による)描写

今回の場合は、普通に「説明」程度で意味が取れるだろ。
0828デフォルトの名無しさんNGNG
HTMLタグの正規表現書いてみたんですけど、どどど・・・どですか?
$htmltag_regex=q{<\/?\w+(?:\s+\w+\s*(?:=\s*(?:"[^"]*"|'[^']*'|[^"'>\s]*)))*>};
0829デフォルトの名無しさんNGNG
終了タグも含めるならこっちかな。
$htmltag_regex=q{<\w+(?:\s+\w+\s*(?:=\s*(?:"[^"]*"|'[^']*'|[^"'>\s]*)))*(?:>|(?=<)|$(?!\n))};
$htmltag_regex.=q{.*?<\/\w+\s*>};
0830デフォルトの名無しさんNGNG
ちょっと訂正。
$htmltag_regex=q{<\w+(?:\s+\w+\s*(?:=\s*(?:"[^"]*"|'[^']*'|[^"'>\s]*)))*>};
$htmltag_regex.=q{.*?<\/\w+\s*>};
0831初心子NGNG
質問です。変数のサイズを取得するにはどうしたら良いのでしょうか?
0832rainNGNG
同じく質問です。
あのですね、apacheを起動させた後IEからCGIを実行しようとすると何故かダウンロードし始めやがるんですよ。
どうして実行できないんでしょう?救済御願いします。
0833デフォルトの名無しさんNGNG
言語不明瞭
0834rainNGNG
sorry.
perlです。
0835rainNGNG
過去ログ見たらWebProgへ行けと・・・。逝って来ます。
0836棄教者 ◆witdLTi2 NGNG
>>832
chmod 0755 するといいかもしれないYO!
>>831
int は 2/4 バイト, long 4バイト, short 2バイトみたいなC/C++のルールは
Perlにはありません。
メモリがパンクするまで幾らでも変数を作っていいんです。
0837すいませんがNGNG
CとJAVAは組めますが、Perlをこれからやろうと思います。
どのくらいでマスターできますか?
2〜3ヶ月くらいでしょうか?

マジレス希望です。
0838デフォルトの名無しさんNGNG
>>837
マジレスだが、人による。
0839マルチPになっちまったNGNG
一般的には100時間くらいやれば、実践で使えるくらいにはなりますかね?
0840大マジのマジレスNGNG
>839
君は今まで食ったパンの枚数をおぼえているのかね?
0841マルチPになっちまったNGNG
つーか、はじめてから、大体使えるようになるまでの期間くらい覚えてるべさ?

とりあえずCやJAVAよりは簡単なのでしょうか?
0842デフォルトの名無しさんNGNG
んなこと人に聞く前にお勉強しる。
0843デフォルトの名無しさんNGNG
1日。つーか数時間。
0844デフォルトの名無しさんNGNG
>>841
仕様の悪さをすんなり受け入れられればすぐに覚えられる。
0845デフォルトの名無しさんNGNG
>>837
そのくらいのことを、ここで聞かないとけんとうつけられないあなたは、
適性はないです。
何ヶ月かかるかわかりません。
0846179マルチPになっちまった NGNG
ここには書ける人がいないようですね
0847デフォルトの名無しさんNGNG
>>846
まじに、どうしてこんな疑問がでるかわからんよ。
ほうんとうに何ヶ月とか何百時間とかかかりそうなんか?

おれは、週末に本を読んで掲示板のCGIをその日のうちに作ったけど。
(短時間で作ったから完成度は低かったけど)
0848843NGNG
>846
おれは書けるよ。CもJavaもとりあえずはね。
で、>841でPerlはそれより簡単かって訊いてるけど、基本的な構文は簡単。
しかし、変態的なコードをC、Javaより書きやすいんで、他人のコードを読むのはどっちかとゆーと難しいかも。
0849179マルチPになっちまったNGNG
>>848
マジレスどうもありがとう!
実践的なレベルに達しようとしたとしても、Cみたいに半年もやる必要はないんですね?
0850デフォルトの名無しさんNGNG
マヂデ誰か「179マルチPになっちまった」こいつ頃してください。
0851デフォルトの名無しさんNGNG
うるせーよ馬鹿
たまには遊びたいじゃない
0852843=848NGNG
>849
実践的なレベルに達するには、843でも書いたけど、基礎がある人なら数時間で大丈夫だと思う。
ここでいう基礎ってのは、変数とか関数とかアルゴリズムとか。
あとは作りたいものによるね。おれのばあいはテキストいじりがメインだったから、
正規表現の知識とか、そんな感じで。

同じテキストいじりメインで、CとJavaをすでに知ってて、さらに正規表現も知ってるなら、
ほんとあっとういうまだと思うよ。
0853849NGNG
>>852
感謝
これで成仏できます
そうなんですか。
数時間といわれると、ネタなのか?と疑ってしまいました。
0854デフォルトの名無しさんNGNG
数時間は嘘だな。

結局その言語の風習やリソースの在り処やイディオムを、
ネイティブに身につけるにはどんなプログラミング言語でも時間がかかる。


数時間でってのは「使えた気」になれるまでの時間だ。

例えばPerlを始めてCPANを知って使って登録するまで、
おまえ等どれくらい時間を要した?
(別にメタクソなモジュールでもアップロードできるんだけどさ)
0855843=848=852NGNG
>854
嘘じゃないってば。まあ「実践的」の範囲が違うんだと思う。
おれはテキストいじりがメインだったからね。
それさえできれば「実践的」だったってことだよ。
854の言う「実践的」が、「風習やリソースの在り処やイディオムを
ネイティブに身につける」ってことなら、たしかに数時間じゃちっとね。

余談かもしんないけど、おれ、CPANに登録したことないよ。
0856デフォルトの名無しさんNGNG
しつもんですみません
デバッガでステップ実行している最中に
レキシカル変数の値がどうなっているか
を見るにはどうすれば良いでしょうか?
0857デフォルトの名無しさんNGNG
>>856
p expr
0858デフォルトの名無しさんNGNG
>>857
expr は $foo の値を見るには $foo って書くんですよね?
なんか、
perl -de 'my $foo=123;' -e 'print $foo'
ってやって

main::(-e:1):  $foo=123;
__DB<1>_p $foo

__DB<2>_p defined $foo

__DB<3>_p !defined $foo
1
__DB<4>_

ってな感じになって、なんも値はいってないみたいなんですが…
ってここまで書いて

__DB<4>_n
main::(-e:2):  print $foo
__DB<5>_p $foo
123

ってなる事がわかりました…
あーmain::(-e:1):  $foo=123;
の段階だとまだ  $foo=123;は評価されてなかったんスね…

オサワガセシマシタ…首くくってきまー
0859デフォルトの名無しさんNGNG
俺はそこそこPerlの文法というものが分かってきた。
そこで1つ質問があるんだ。
Perlに関するバイブル的な本というのはあるのだろうか?
是非教えて頂きたい。
0860デフォルトの名無しさんNGNG
>859
俗に言うラクダ本。
オライリージャパンの。表紙がラクダの分厚いやつ。
0861デフォルトの名無しさんNGNG
>>860
おぉ。
情報サンクス!
0862デフォルトの名無しさんNGNG
二項分布の計算をPERLで作ってるんですが、
1000乗とか2000乗とか、でかい数を乗数にすると、
ダメみたいなんですが、何か対策方法とか
ないのでしょうか?
0863デフォルトの名無しさんNGNG
>>862
Python か Ruby でも使えば?
0864862NGNG
>>863さん
早速のお返事ありがとうございました。
おそらく、HPの場所がPERLしか使えない(ただ知らないだ
けかも?)と思われ、どうにかPERLでCGIを製作したいと
思ってます。
PERLをやっとひとかじりした厨房なのでトンチンカンなこと
言ってたらすいません。
0865デフォルトの名無しさんNGNG
>>864
・統計計算用の Perl ライブラリを探す
・式を工夫して桁数を小さくする
・リアルタイムで生成する必要がなければ
 手元で計算して結果だけウェブに載せる
0866Perl使ったことないがNGNG
Perl使わなくてもC言語でカバーできないの?
0867デフォルトの名無しさんNGNG
>>866
CのCGIも使えるようなところだといいんだけどね。

>おそらく、HPの場所がPERLしか使えない(ただ知らないだ
>けかも?)と思われ、どうにかPERLでCGIを製作したいと
>思ってます。
0868デフォルトの名無しさんNGNG
数値計算はPerlの最も苦手な分野です。
驚くほど低速です。
Math::BigInt(BigFloat)を使うとさらに重くなります。
共有スペースでCGIを動作させるなら、そういうことはやらないようにね。
0869862NGNG
>865さん
お返事ありがとうございました。
>・統計計算用の Perl ライブラリを探す
一生懸命探しましたが、見つからず挫折しました・・
>・式を工夫して桁数を小さくする
これは努力の余地がありそうです。
>・リアルタイムで・・・・
リアルタイムで動くものを目指しています。
0870862NGNG
>866さん,867さん
感謝です!
どうも、PERLしか使えないみたいなんです(涙)
>688さん
初耳(汗)でした。
>数値計算はPerlの最も苦手な分野です。
>驚くほど低速です。
言語には向き不向きがあるのは知っていましたが、そうだったとは・・・
共有スペースでやろうとしていましたが、迷惑になってしまいそうです。
断念しないといけなそうです(涙)
0871棄教者 ◆witdLTi2 NGNG
糞厨房ですが質問です
Perl と PERL
どちらが正しい名前でしょうか
0872デフォルトの名無しさんNGNG
>>869
鬼のように複雑な事でもなければそこそこだよ。
ライブラリsearch.CPAN.orgに行って探して見れ。
0873デフォルトの名無しさんNGNG
>>871

"Perl"がプログラミング言語を指して
"perl"が処理系(/usr/bin/perlとか)を指してるけど

"PERL"は定義されてないと思ったよ。
0874デフォルトの名無しさんNGNG
perlの「正規表現」は正規表現ではない
0875デフォルトの名無しさんNGNG
>874
??
つかえりゃーそれでいいんでないかい?
Perlに理論とか理屈とかを求めてもしょうがないよ。
0876デフォルトの名無しさんNGNG
>>875
いいんだけども、挙動が正規表現と違うから
混乱する
0877デフォルトの名無しさんNGNG
POSIX 準拠じゃないだけで正規表現は正規表現では?
0878デフォルトの名無しさんNGNG
正規表現が例えば/(!+)[^!]+\1/こんなマッチできるわけがない
0879デフォルトの名無しさんNGNG
そんなことを言えばPOSIXの正規表現だって正規表現じゃないし。

0880デフォルトの名無しさんNGNG
もしかして DFA 等価な正規表現のことか。
確かに本来の正規表現とは違ってるな。
0881デフォルトの名無しさんNGNG
>876
無ければ作る。がんばってくれい。
0882デフォルトの名無しさんNGNG
perlでLZSS圧縮(テキストを圧縮するのに適した圧縮方法で、
比較的簡単な処理で実現できる)を行っているソースなどは
ありませんか?
0883デフォルトの名無しさんNGNG
>882

CPANで検索したらイロイロでてくるよ。ライセンスの問題さえ気にしなければ
そのまま使ったほうがラクダ。

ttp://search.cpan.org/Catalog/Archiving_Compression_Conversion/

0884デフォルトの名無しさんNGNG
perlの文字列とかの内部構造ってどうなってるんだろう。
ある程度の大きさのメモリを確保しておいて、
足りなくなったらmalloc見たいな感じ?

正規表現とかで置換したときとかの動作も気になるところ。
十分な大きさのメモリをもうひとつ確保してすりかえてるのか?

ソースを落として解読は無理(ダイヤルアップ回線て…)。
0885デフォルトの名無しさんNGNG
>>884
今、見たら Perl-5.6.1.tar.gz が約 6MB やね。56K モデムなら、
30分もあれば充分じゃねーか。
0886デフォルトの名無しさんNGNG
>>885
14.4kモデムて…
電話代かかるて…
まあ適当に理解したつもりでいきるよ
0887デフォルトの名無しさんNGNG
>>886
2ch やってる暇あったら、マクドでバイトでもして 56K モデム代と、
電話代稼げ。
0888デフォルトの名無しさんNGNG
Java使い出してからPerlの必要性が感じなくなってきて
Perlを完全に捨てようと思ってるんだけど同じような人いる?
0889デフォルトの名無しさんNGNG
>>888
JSPに完全に乗り換えたよ。
0890デフォルトの名無しさんNGNG
>>888
おれもそんな感じかな。
おれはよくJAVAのスレにいるよ。たたかれてるけど(w
完全に捨てるってつもりじゃないけど、
結局次から作るのはJAVAでやろうって感じだから
捨てることになるのかなぁ・・
でもperlって電卓みたいに気軽につかえてすきだった。
とくにUNIXサーバー管理してるんで、使いやすかったし。



0891デフォルトの名無しさんNGNG
ま、結局素人がJavaに手が出るわけもなく、設置も簡単で組むのも簡単な
Perlはアマチュア言語として、Javaはプロ用言語として住み分けがされる
わけなんでしょうな。
0892ロボ鉄 ◆MGTy6iYI NGNG
あの暗号みたいなコードを見るとワクワクするw
0893獏NGNG
>>888
JAVA は PERL の代替にはならないと思うけど。
処理内容にもよるけど PERL の方が手軽でいいやん。
どういう用途で PERL から JAVA に乗り換えたん?
0894デフォルトの名無しさんNGNG
>>891の母でございま(以下略
0895デフォルトの名無しさんNGNG
漏れはPerl詳しく知らないんで、Perlの良さは正規表現ぐらいしか
わからん。仕事でJava使うようになったけど、Javaは文字操作が
あまり得意じゃないが(1.4は未使用)、C/C++使いだった漏れには、
超簡単お手軽言語に思えたよ。個人的な掲示板には某CGIを使わせて
もらってるが、当然Perlで書かれていて、ダイナミックに手を入れ
られないので、自宅サーバにJava(とPostgreSQL)入れて、Tomcat上で
一から作り直そうと思ているYO!
0896デフォルトの名無しさんNGNG
Perlを愛する人は 心清き人(以下略
0897デフォルトの名無しさんNGNG
Perlの良さは、ひとつには「ここはサボる!」と決めたら本当にサボれるところ。

Javaだと、例えば「例外は投げたいがthrowsは書きたくない」ってことはできない
(今どきはエディタとか統合環境が面倒見てくれるのかもしれないが)。
0898獏NGNG
Java だとコンパイルせなあかんし起動も遅いやん。
Perl で事足りるならわざわざ Java を使う必要ないんとちゃう?

>>895
>Perlの良さ
 多機能でお手軽なスクリプト言語。
 確かに正規表現は Perl の良いところ。
>CGI
 基本的に自作します。
 Perl はそんなに難しくないので勉強されてはいかがですか?

※決して Java を嫌っているのではないですよ。
0899デフォルトの名無しさんNGNG
perl のCGI よりサーブレットのほうがはやいよね。
0900デフォルトの名無しさんNGNG
サーブレットよりmod_perlのほうがはやいよね。
0901デフォルトの名無しさんNGNG
javaのCGIは死ぬほど遅いよね。
# core javaに書いてたけどそんなことするやつはもう居ないよなぁ
0902デフォルトの名無しさんNGNG
このスレもやっと900超えましたな。
0903デフォルトの名無しさんNGNG
Perlはイイよ、インストールしてないけど。
Javaは別にC#やC++で代用できるけど、Perlは個性的で面白い。
0904デフォルトの名無しさんNGNG
>>903
ruby、Python で代用できないの?
0905デフォルトの名無しさんNGNG
>>904
別にいいんでない?
ちとマイナーだけど。
0906デフォルトの名無しさんNGNG
Pythonistなんてみたこと無い。
0907デフォルトの名無しさんNGNG
>Pythonist

こういう書き方、はじめて見た。
0908デフォルトの名無しさんNGNG
Pythonian が一般的?
0909デフォルトの名無しさんNGNG
Rubyユーザみたいなかっこ悪い真似はしないだけだよ。
0910デフォルトの名無しさんNGNG
>>909
頼むから Ruby 厨を召還しないでください。
0911909NGNG
いやだって最近見ないから。
0912デフォルトの名無しさんNGNG
Perler
Rubiest
Pythonian
つーわけですか。
0913デフォルトの名無しさんNGNG
Perl のモジュールでエラーメールの解析してくれる奴無いすか?
自分の書いた if 文を見て鬱氏・・・
0914デフォルトの名無しさんNGNG
「エラーメールの解析」って何だ?
0915デフォルトの名無しさんNGNG
>>862 もう読んでいないかもしれないけど。

pure Perl でなくてもよいのなら、 Math::CDF なんだけどね。
二項分布だと、確率関数はガンマ関数(の対数)、分布関数は不完全ベータ関数
を使って計算するのが定石ではないかと思う。C にくらべると遅いが、よっぽ
ど繰り返すのでなければ問題ない程度じゃないかな。

URL は忘れたけど、pure Perl のもので公開しているのもあることはある。昔、
類似品を書こうとして検索していたら見付けて、CPANにあげてとメール出した
記憶はある。結局、あげてくれなかったんだけど。
0916913NGNG
>>914
MLとかでメンバーアドレスのフォワード先が死んでるとか、
quotaがかかってて受け付けないとか、で送信先のサーバが返す
エラーメールから、どのメンバーアドレスがエラーになってるかを
何とか自動で調べたいんだけど、エラーメールのフォーマットが
多種多様で、自分で正規表現で追っかけるのが嫌になってきたと。

舌足らずで須磨ソ
0917913NGNG
板違いだったかしら・・・
fml の mead.pl も腕力のようだし、
このまま突っ走るしかないのかねぇ。
0918デフォルトの名無しさんNGNG
>>913
んー、quickmlを参考にしてみたら?
quickmlってPerlじゃないと思うけど(Ruby?)。

最近のMTAには、「ちわっす、おいらqmailっス。
申し訳ないんだけど、○○さんあてのメールは届かなかったんだよね。
お知らせしとくっス」(超意訳)みたいなエラーメールを出すやつもあるしねえ。
英語のスパムかと思って消すとこタダーヨ。
0919デフォルトの名無しさんNGNG
ActiveStateに
5005threadでbuildしたActivePerlをくれって言ったら
くれますかね?
0920デフォルトの名無しさんNGNG
>>919
何故自分でコンパイルしないのかと以下略
0921デフォルトの名無しさんNGNG
Squeakある意味最強
0922デフォルトの名無しさんNGNG
韓国語のEUC-KRからiso-2022-krに変換したいのだけど、そんなモジュール知りませんか?
0923デフォルトの名無しさんNGNG
<丶`∀´>
日本人謝罪シル!
領事館進入シル!・・・ウシシ
0924デフォルトの名無しさんNGNG
<丶;゚Д゚>
アイヤーしまったあるね
まあこのさいどうでもいいニダ
0925デフォルトの名無しさんNGNG
Perlで簡単なHTTPSクライアントを作りたいのですが、検索してもなかなか仕様と
かの情報が集まらなくて困っています。
Windows98のCygwin上で動くようなやつを探してます。
良ければ仕様(できれば日本語)及び、ソース(できれば日本語コメント付き)が公開
されているサイトとかを教えていただきたいです。
0926デフォルトの名無しさんNGNG
作りたいのかソフトがほしいだけなのかどっちなんだ?
0927デフォルトの名無しさんNGNG
ちなみに LWP::UserAgent 使えば終わりだが。
0928925NGNG
せっかく教えていただいたのに申し訳無いのですが、インストールの仕方がわかり
ません。

Cygwinは
ftp://ring.asahi-net.or.jp/archives/pc/gnu-win32/からsetup.exe
を落として、ダブルクリックしてインストールしたら動いたんで、意味不明だけど
なんとなく使っている程度でして…。

makeだとかgccだとかopensslだとかはsetup.exeでインストールしました。

で、
perl makefile.pl
とやってもエラーは出ていないようなんですが、
make
ってやるとワーニングが出てます。
make test
ってやるとやっぱりエラーが出ます。

UNIXとかについての知識が殆ど無いのもありますが、英語が読めないのが致命的
なようです…。

エラーの意味が良く分からないんで、半ば諦め入ってます…。このまましばらく
やって無理そうだったら諦めます。

教えていただいてありがとうございました。
0929デフォルトの名無しさんNGNG
>>928
activeperl使えばいいのに・・・。

>エラーの意味が良く分からないんで、半ば諦め入ってます…。

初めのうちは行番号だけを参考していればいい。
その行番号かその上がエラー箇所が原因であることが多い。
少し経てばどういうミスでどのエラーが出るかわかってくる。
コンパイルエラーくらいでへこたれるな!がんばれ!!
0930デフォルトの名無しさんNGNG
Cygwinは標準でperlインストールされるだろ
LWPも標準ではいってるだろ
0931デフォルトの名無しさんNGNG
折れはcigwinのperlに上書きバージョンアップをかけたことあるよ。ファイル検索ー>コピー、で。
0932デフォルトの名無しさんNGNG
おまえらCygwinじゃなくてDJGPP使えよ!
0933デフォルトの名無しさんNGNG
>>928
httpsのクライアント側はNet::SSLeayだかIO::Socket::SSLだかが必要。
最新のActivePerlではPPMで提供されていない。

opensslをインストールした後、こいつらを展開して、
perl Makefile.PL
nmake
nmake install
すればかんたんに入る。

ActivePerl for Win32ではnmakeを使う、これ基本。VisualStudioが必要。
nmakeした結果を自分でPPMにしておけば、複数のマシンにインストールするとき楽。
SSL回りがPPMでバイナリ配布されてないのは、
opensslのライセンスの関係なのかなあ??

cygwinの方はよくわからないけど、UNIXと同じようにやったんじゃなだめなの?

> 英語が読めないのが致命的なようです…。
気のせい。読めないような気がするだけ。
辞書片手にじっくりとりかかれば、大事なところは理解できるハズ。
理解できないところはきっと無視しても平気な部分だ。がんがれ!
ちなみに自動翻訳にかけると、その「理解できないが無視していいところ」が
原因で文全体がメロメロになるのでおすすめしない。
0934デフォルトの名無しさんNGNG

ある処理をして、それがエラーだったら別の処理をする
ということが出来ますか?
(エラーメッセージを出させないようにする)
0935デフォルトの名無しさんNGNG
>>934
????????????????????????????

if(func()){
#通常処理
}
else{
#エラー処理
}
0936934NGNG
>>935

func()って何を表すものでしょう?手元の辞書には載っていないのですが・・・・
エラーというのはPerlが終了してしまうような事態のことです。
0937デフォルトの名無しさんNGNG
どういうことやると終了する?

例外処理みたいなこと知りたいんだと思うけど。
0938デフォルトの名無しさんNGNG
>>936
2ちょんスクリプト(bbs.cgi)より引用

#シグナル対処関数
sub SigExit {
exit(0);
}

#対応シグナル
{
$SIG{'PIPE'} = $SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = "SigExit";
}
0939934NGNG
もうちょっと詳しく書きます、MacPerlなんですが、Macにはアプリケーション間で情報をやりとりしたり
リモートコントロールするためにAppleEventというプロトコルがついています。
これを使うモジュールがMacPerlにはあるのですが
相手のアプリケーションがたとえば起動していなかったり、不正な処理をしたりすると、Perlに対してエラー情報を返し、
PerlはエラーメッセージとともにPerlスクリプトの実行を終了します。

このような「エラー」が出た場合、例外処理でスクリプトの実行を終了されることを回避したいのです。
Mac使いではない人には分かりづらいかも知れませんが、たとえばファイルオープンに失敗したとか、
ファイルアクセス中にファイルが壊れたとか・・そういう事態に似ていると思ってさしつかえないです。
0940デフォルトの名無しさんNGNG
>>939
いや、例外ならC++以降の言語には大抵搭載されてるから。
Perlに例外処理機構があるのは初耳だけど。
0941934NGNG
Perlはファイルオープン失敗してもエラーは返さないんでしたね(;´Д`)
0942934NGNG
>>940
初耳というか・・・そういう手段があるのでしょうか?という話です、たとえばモジュール追加するなどで・・。
0943デフォルトの名無しさんNGNG
>>941
返すわボケ!
0944デフォルトの名無しさんNGNG
eval 使え。
0945934NGNG
>>944

!それですかね。eval
if構文みたいなやりかたばかり考えていたのですが、evalならイケそうですね。thanks!

>>941
手元にある辞書には「openは失敗してもエラーになりません」と・・この辞書ダメですかね。
0946デフォルトの名無しさんNGNG
eval - dieか、DESTROYかな。
0947デフォルトの名無しさんNGNG
>>945
open(FILE,"./hoge.txt") || die("駄目でした(T_T)\n");

こういう構文を見たことない?
0948デフォルトの名無しさんNGNG
>>945
それってさ、エラーを返さないんじゃなくて、エラーでストップしないという意味じゃない?
それならCも同じだが・・・・
0949デフォルトの名無しさんNGNG
複数の2次元配列をモジュールに渡すときの、渡し方と渡された側の取得方法を記せ。
0950デフォルトの名無しさんNGNG
リファレンスを渡す。
0951デフォルトの名無しさんNGNG
>モジュールに渡す
(゚Д゚)ハァ?
0952デフォルトの名無しさんNGNG
>934
処理を eval で囲む。
0953デフォルトの名無しさんNGNG
CPANにtry...catchモジュールがあったかもしれん。
うるおぼえでスマソ
0954デフォルトの名無しさんNGNG
Perlでの例外処理機構はeval {ブロック}です。
eval "文字列" とはちょと違う。
eval内で発生したエラーは$@に格納されています。

eval { 処理 }
if ($@) { エラー処理 }
0955デフォルトの名無しさんNGNG
>>953
それって単なるevalのラッパだった気がする。
うるおぼえでスマソ
0956デフォルトの名無しさんNGNG
>>955
うろ覚えでしょ。
0957デフォルトの名無しさんNGNG
>>953
CPANに登録されてるのはどんなのか知らんけど、
try...catchのサンプルはperlsubにも出てたはず。
0958913NGNG
>>918
quickml のソースが公開されてたとは・・thanx
0959デフォルトの名無しさんNGNG
perlって他の言語と違っていろいろ種類があるようなんですがそうなんですか?
その種類・用途などはどのようになってるんでしょうか?

ageときます。
0960デフォルトの名無しさんNGNG
asge
0961デフォルトの名無しさんNGNG
>>959
気のせいだ。
0962棄教者 ◆witdLTi2 NGNG
>>959
バイナリファイルを吐き出せるよ。
会社ではGDS IIフォーマットを整形するプログラムをPerlで書いて、
同僚に使ってもらっている。
0963デフォルトの名無しさんNGNG
>>959
正規表現とか?
文字列操作に強いのは確かだね。
あと、世界中の人が作ったライブラリが共有サーバーにアップ
されているので、言語を超えて色々できるっていったらできる。
0964あNGNG
pdf を気軽につかえる方法ない?
PDFLib 見たけれど、変な文字がでかく入って嫌なんだけれど
0965デフォルトの名無しさんNGNG
>>964

Kansai.pmのMLでPDFJなんてのがアナウンスされてたな。

http://hp1.jonex.ne.jp/~nakajima.yasushi/
0966デフォルトの名無しさんNGNG
もうすぐこのスレも終りだねぇ。
0967デフォルトの名無しさんNGNG
だねぇ。でも書き込み少ないね・・・
0968デフォルトの名無しさん NGNG
さて、次スレでも立てるか
0969デフォルトの名無しさんNGNG
お前等DUKE作ろうぜ
0970デフォルトの名無しさんNGNG
このペースだと、980くらいまでいってからでも遅くはないんじゃないか?
0971デフォルトの名無しさんNGNG
そろそろ埋めるか
0972デフォルトの名無しさんNGNG
 
0973デフォルトの名無しさんNGNG
 
0974デフォルトの名無しさんNGNG
 
0975デフォルトの名無しさんNGNG
 
0976デフォルトの名無しさんNGNG
Perlでオセロとか作れますか?
0977デフォルトの名無しさんNGNG
作れるよ。
0978デフォルトNGNG
Perl/Tkで作ってもいいよ。
でも1000円位のコンビにで買う手もある。
0979976NGNG
>>977・978
レスありがとうございます。
追加で質問なのですが、作る場合ゲーム盤の表示はNNやIE等のブラウザで
行うのでしょうか?その他に方法があるのでしょうか?
ちなみに私はflashのactionscriptとjavascriptの知識しかありません。
しかもうちにはMacしかありません。

0980976NGNG
すみません。

>>その他に方法があるのでしょうか?---×
>>その他Perl/Tk以外にも方法があるのでしょうか?---○
0981デフォルトの名無しさんNGNG
テキストで。
0982976NGNG
>>981
レスありがとうございます。
挑戦してみます。
0983デフォルトの名無しさんNGNG
新スレかもん。
0984デフォルトの名無しさんNGNG
「Perl6について語れや」でいいんじゃないのか?
0985デフォルトの名無しさんNGNG
「Perl5.8について語れや」ではないのか。
レス数が950を超えています。1000を超えると書き込みができなくなります。