663 :
デフォルトの名無しさん :
02/09/19 17:40 Perlで料理のレシピを登録して、料理名や使用材料で検索できるようなものが作りたいです。 テキストの全文検索は自前でやったことあるけど、こーゆーのはSQLとか使ったほうが楽ですよねー? SQLの構文自体は分かります。ただ、Perlが初めてなだけで(汗)普段はC++。
664 :
デフォルトの名無しさん :02/09/19 17:54
>>663 ヤット,マトモナシツモンガキター!!
665 :
デフォルトの名無しさん :02/09/19 17:57
実行環境はRedHat6とかでしょうか。 Webで公開するためのCGIサーバは後で用意するつもりなので。 今はWinのActivePerでやります。 オススメの環境とかあれば、便乗させてもらいます。
>>663 なにがアンケート調査CGIじゃ
ヴぉけが
Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby! Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby! Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby! Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby! Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby! Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby! Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!Ruby!
>>666 普段c使ってるならcでやんなよ。
>>663 の処理ならコーディングの手間を減らせるメリットと
慣れない言語を扱うことのデメリットを天秤にかけりゃ
そのほうがて手っ取り早い。
670 :
デフォルトの名無しさん :02/09/19 18:28
>>669 まあそうだがRedHatなら定番MYSQL+PHPというのもある。
彼のスレを読んでる限りじゃデータベース使うならどうせ覚えることは多いし
参考書籍はこっちのほうが多い。
>>669 別に、早く仕上げたいという気持ちは無いです。
半分は勉強目的です。
>>670 MYSQLですか・・・。ちょっと調べてみます。
OSに標準で入ってるか、もしくはどこのプロバイダでも
アクセスを許可しているような感じのものであれば使ってみたいです。
672 :
デフォルトの名無しさん :02/09/19 18:46
>>671 レンタル鯖?
海外なら大抵使えるよ。
自宅に置いてWEBサーバのCGIでアクセスってのもある。
>>671 いずれにせよ、板違いだ。
WebProg板へいきな。
>>672 海外はまったく考えていなかったです。
WEBサーバのCGIでアクセスするのは面白いかもしれませんね。
処理速度が落ちるとは思いますが、今回の規模ならそれでも十分です。
外部のDBと連携するのではなく、Perlプログラム中に組み込むような
形のデータベースエンジンって無いんですかね?
675 :
デフォルトの名無しさん :02/09/19 19:30
半角カタカナが入力されたらエラーがでるような チェックサブルーチンを作りたいのですが、 jcode.plを使わずにShiftJISのままで それを作るにはどうしたらよいですか? お知恵を貸して下さい。
676 :
デフォルトの名無しさん :02/09/19 19:37
文字コード表とか検索してみ。
>>674 WebProg板の初心者質問スレにレス移動したのでよろしく。
二度と戻ってくるな。
>>675 純粋な質問だが本気でお知恵を借りたいと思っているのか?
思っているなら貸さないでもないのだが。
>679 思ってない
681 :
675 ◆iuNtvKQI :02/09/19 21:18
>>679 思ってます?。今もまだ出来なくて調べてました。
0x00A0-0x00DFが半角カタカナのコードらしい、まで調べたのですがそれで
チェックしてみると全角カタカナがチェックの対象になってしまって…
>>680 偽者
>>681 半角カナって1バイトじゃなかったっけ ?
683 :
デフォルトの名無しさん :02/09/19 22:01
ばかばっか
( ´_ゝ`)フーン
自治厨うざい。 Perl は WebProg へ逝けというのなら、 CGI に使える言語なら Ruby でも C/C++ でも WebProg に逝かないといけないね。 神とか漢とか言われてる人は CGI を C で書くでしょ。
>>688 DBIの具体的な使い方の話ならともかく、
cgiサーバがどうしたなんて話は完全に板違い。
690 :
デフォルトの名無しさん :02/09/20 09:58
>>688 PerlにCGI以外の*まともな*使い道ってあるの?嘲笑
ないだろ?ばぁぁか
691 :
デフォルトの名無しさん :02/09/20 10:00
>>690 Perlは結構使えますよ。
こないだ生ゴミ燃やすのに使いますた。
692 :
デフォルトの名無しさん :02/09/20 10:06
>>690 おれは688ではないが、ここはプログラム板だから使い道うんぬんの話だけじゃない。
そういう話こそWebProgやプログラマ板でやればよい。
でも、PerlはCGIの実行に使われるのが多いのも確か。
688は質問者のその辺を理解してやれよ。すぐ板違いというのはちょっとイタイ。
693 :
デフォルトの名無しさん :02/09/20 10:08
>>690 2ちゃんのスレッドをGETしてNNTPにPOSTするというデーモンを動かしてます。
TeX2HTML はどの言語で書かれていますか(プ Ruby で書かれたプログラムがあったら教えてください
気づいているのか知らんが、WebProg板へ行けとかいっているやつは 自治厨でもなんでもなく単なる荒らしだから相手をするな。 しかもジサクジエンしまくりなので注意。
RD >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> perldoc=糞豚
IO::File("-"); とやると標準入力のファイルハンドルが作られますが、 同じように標準出力、標準エラー出力のファイルハンドルはどう作るんでしょうか?
stdout ">-" stderr ">&STDERR" ないし $io_obj->fdopen(fileno(STDERR), "w") など
STDIN, STDOUT, STDERRはそれぞれIO::Handleオブジェクトとして扱えるから require/use IO::Handle;でSTDOUT->print(...)というふうにメソッドを呼んだりできるよ。 # 今更気付いたけど、 "-"や">-"はfdの複製はしないんだね。
PerlはUnix系OSでは根幹部分にも多く使われていて、 それ無しではインストールでも苦労すると思うのだが。
あ、質問がまずかった。ごめんなさい。 やりたいこととしては STDERR を読み込んでそれをもとに処理を行いたいのです。 $io_obj->fdopen(fileno(STDERR), "r") でいいのでしょうか?
なんだ、そういうことか。 それは「標準エラー出力のファイルハンドルを作る」のとは何の関係も無いよ。 読み込みモードでfileno(STDERR)を開いても望みの結果は得られないでしょ。 やってみれば一発で分かると思うけど。 とりあえずそれをするにはIO::Scalarが使える。Perl5.6じゃないと多分失敗するけど。 #!perl use IO::Scalar; my $stderrbuff; tie *STDERR, IO::Scalar => \$stderrbuff; warn "warn 1"; warn "warn 2"; die "die"; END{ print $stderrbuff; } __END__ Version500.5以下だとSTDERRを他のファイルにリダイレクトするしかないかも。
Version500.5 -> Version5.005
706 :
デフォルトの名無しさん :02/09/20 23:01
perlってダサイ
またきみか。
俺がお前らのことをどれだけ憎んでいるかお前らには分かるまい perlユーザは死ねperlユーザは死ねperlユーザは死ねperlユ ーザは死ねperlユーザは死ねperlユーザは死ねperlユーザは死ねp erlユ ーザは死ねperlユーザは死ねperlユーザは死ねperlユーザは死ね perlユーザは死ねperlユーザは死ねperlユーザは死ねperlユーザは 死ねperlユーザは死ねperlユーザは死ねperlユーザは死ねperlユーザ は死ねperlユーザは死ねperlユーザは死ねperlユーザは死ねperlユーザ は死ねperlユーザは死ねperlユーザは死ねperlユーザは死ねperlユーザは 死ねperlユーザは死ねperlユーザは死ねperlユーザは死ねperlユーザは死 ねperlユーザは死ねperlユーザは 死ねperlユーザは死ねperlユーザは死ねperlユーザは 死ねperlユーザは死ねperlユーザは死ねperlユーザは死ねperlユ ーザは死ねperlユーザは死ねperlユーザは死ねperlユーザは死ねpe rlユーザは死ねperlユーザは死ねperlユーザは死ねperlユーザは 死ねperlユーザは死ね
709 :
デフォルトの名無しさん :02/09/21 15:39
Ruby >>>>>>>>>>>>>>>>>>>>>> Perl
webprogに引きこもっているなら許してやる。 プログラム板で糞言語の話をするな!
/<<Ruby使い / _ /◎)、_______∠l / /◎ヽ | 「....;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;| |,,. ` -_´/ .彡⌒ー/| \___;;;;;;;;;;;;;;;;;;;;;;| |;;;;, " i ̄ ̄i /´⌒ヽ_____\ ̄ ̄ ̄ .|;;;;;;, /Ruby ゙、 ,/´ ! ヲ=℃/ ̄ |;;;;;;;;, /_,-..‐..-、_゙、 /_レ‐ー――‐" ̄ ̄) ヾ;;;;;;;;,,,.. /':::::::::::::::::::::`i / __ r'~ ̄ ヾ;;;;;;;;;;;;,,,.トー――――-! / _) ヾ;;;;;;;;;;;;;;,,,,.... | 、 ノ ヾ;;;;;;;;;;;;;;;;;;;;;;;;;,,,,.... ゙、;;;,,..  ̄" );;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.......
どうして、、、、こんなことを、、 rubyユーザさん、、かわいそうな人。 あなたは人から愛されたことが無いのでしょう。
PerlもRubyも使うが、どうして言語をこんなに憎めるのか理解不能。
RubyユーザのふりをしてPerlをののしり、Rubyユーザの評判を落とそうと仕向けている 粘着基地外がいます。放置をお願いします。騙されたり煽られたりした人がいたら フォローしてあげてください。
715 :
デフォルトの名無しさん :02/09/22 10:17
perlには言語実装としての美意識が全くありません 書かれたコード!それは世にも醜い姿を晒します 悲劇はperlプログラマはそう思っていない事です あとインタープリタ方式で遅いのによく使っていられることです サーバの資源を無駄に使うperlを使うのをやめましょう せめてJava ServletまたはCが書けるようになってください ちなみに私は 709 ではありません 706です
「インタープリタ方式」(w 「perlプログラマ」(w 「Java ServletまたはC」(w 突っ込みどころ満載だな。 Perl使いこなしてる奴だってこれが 美しいと思って使ってる奴はいないよ。
>>715-716 > Perl使いこなしてる奴だってこれが
> 美しいと思って使ってる奴はいないよ。
そうか ? C 程度には、きれいに書けるよ。確かに、いくらでもぐちゃ
ぐちゃに書けるけど、それって C でも同じだろ ?
718 :
デフォルトの名無しさん :02/09/22 11:06
そんなあなたにDelphiです!! どんなヴァカでも同じようにしか書けません COBOLには負けるけどなー
確かにCだって、ぐちゃぐちゃにかけるんだけど、人によるよね。 仮にCを美しいとしたときに、Perlは言語の仕様自体が美しくないと 俺は思うけどな。 美しくないお陰で使い勝手がいい(ことになっている)というか。
>>715 インタープリタ方式で遅いのに=>rubyはコンパイル言語でしたか。
>>719 使い勝手がいい=>上等。
721 :
デフォルトの名無しさん :02/09/22 11:20
#!/usr/bin/perl study, write, study, do review (each word) if time. close book. sleep? what's that?
>>719 > 確かにCだって、ぐちゃぐちゃにかけるんだけど、人によるよね。
まあね。どんな言語でもぐちゃぐちゃに書く奴はいるのは確か。
> 仮にCを美しいとしたときに、Perlは言語の仕様自体が美しくないと
> 俺は思うけどな。
ほぼ同意。
> 美しくないお陰で使い勝手がいい(ことになっている)というか。
いいか ? まあ、作者はいいと思ってるんだろうからから問題ないけ
どね。
遅いって言われてもなぁ。 グリグリの3DゲームをPerlで作ってるわけじゃないし、、 普通の人はPerlで十分の内容のときにPerlを使い、スピードがほしい時に C++使ったり用途に分けて使い分けてると思うが。
お前ら釣られすぎ。
>>723 俺はcgiもCで書くけどね
最近はApacheで動かすmod_isapi Cで遊んでいるよ
726:名前:デフォルトの名無しさん
>>725 だから?
727 名前:715[] 投稿日:02/09/22
>>726 ネタにマジレスカコイイ(・∀・)イイ!
、、、( ノ ≧∇≦ )ノ ぷはははっ!
CGIをCで書くことは滅多にないなぁ。 もしもポインタ周りのバグがあると大変だし。 PerlとかphpだのCだのは必要に応じて使い分けないと。
728 :
デフォルトの名無しさん :02/09/22 21:11
envp操作して 文字コード周りのめんどうさえみれば ソケットも自在に使えるし 作ったあと美しい perlだと軽自動車みたいな品のないコードが嫌い ポインタとバッファオーバフローのチェックができない Cプログラマが多すぎるからね だからそういう人たちのためのperlなんだろうけどね 727は見込みありそうだけど 726は低脳そうだね
Q.具体的にどの辺が美しくないですか?<perl
>>729 > Q.具体的にどの辺が美しくないですか?<perl
switch 文がない。
同じ動作をする書き方のバリエーションが多すぎる。(書き易いけど、読み難い。)
sort() が $a, $b を使ってしまう。
多次元配列が無い。
構造体が無い。
ファイルハンドの扱いが特殊。(通常の変数じゃなくて、独自の名前空間をもつ。)
最近、Perl 使ってないから、今のバージョンだったら改善されているところはあるかもしれない。また、個人の好みによるところもある。とりあえず、今すぐ思いつくのはこんなところ。
まあ、多次元配列、構造体的な役割のものは増改築の温泉宿的に使えなくはないんだけど、 ほとんど同意。 同じ動作のバリエーションが多いっていうところが、 英語圏の人が「こう書けたら便利かなー(もしくは面白いかなー)」と 思って付け加えたんじゃないのか? って感じのところが美しくないんだな。 とってつけたような。
sort が $a, $b を勝手に使うって仕様はかなりびっくらこいた。
構造体もどきではだめ? 某サイトからパクッたサンプルソース push @persons, { "name" => "tanaka", "age" => 24 }; push @persons, { "name" => "suzuki", "age" => 28 }; foreach $person (@persons) { print "$person->{'name'} $person->{'age'}\n"; }
>>732 だよねー。俺もこの仕様が一番違和感ある。
>>733 > 構造体もどきではだめ?
ダメ。メンバの名前間違えても、コンパイルエラーにならないし、構造体の配列とか、
配列を含む構造体とかになると収拾がつかなくなるから。
>>733 常識だよ。リファレンスで多次元配列が無名ハッシュで構造体が扱える。
>>730 switch文なんてifの羅列で十分。gotoもあるけど。
バリエーションが多いから書きやすい=上等。
ファイルハンドルは別のほうが便利。
736 :
デフォルトの名無しさん :02/09/22 22:26
いいぞ。もっとperlを叩け!
おとなしくSwitch.pm(>5.8)使え
Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞 Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞 Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞 Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞 Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞 Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞 Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞 Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞Perlは糞
ばーぁ>>Perler
程度低すぎるよ。この糞スレ。 おとなしくWebProgに逝ったら?
>>714 の指摘があって以来Rubyをほめなくなったね
>>735 > バリエーションが多いから書きやすい=上等。
と言うわりには、switch が無いのが謎なんだなー。
> switch文なんてifの羅列で十分。
と言うなら、for/foreach どっちかにしろよ。ここら辺の、いいかげんさがちょっと嫌い。
> ファイルハンドルは別のほうが便利。
まあ、これに尽きるね。要は、書きやすい事にかなり比重を置いている。これは、これでいいとは思うけど、その分保守はやりにくい。(= 大規模開発にはダメ言語)
従来 awk なんかで書いていたちょっとしたツールや、GCI から呼び出されるプログラムなんかにはなかなか便利。
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
俺の中ではforはiを使って繰り返し、foreachは配列の要素をいじる、 って感じで使い分けるので必要。
万人にとって万能な言語なんかないのはあたりまえだが、やっぱり不満はいろいろ あるもんだな。 Perl は、たしかに書きやすいけど読みにくい。でもそれをわかってて適所に使う 分には良いものだと思う。 あと自分で作るプログラムなら、スタイルを決めて書けばそれなりに保守しやすい ものにもできる。それなりにセンスや経験はいるかもしれないけど。
747 :
デフォルトの名無しさん :02/09/23 01:54
このすれの人って いい人多いね がんばれ
つうか、複数でコーディングする場合って、言語を問わず コーディングスタイルを統一しないか?普通。 一貫したコーディング規約を維持できればかなり読みやすいと思うんだが<Perl
749 :
デフォルトの名無しさん :02/09/23 13:35
めっちゃ低レベルなプログラムの質問していいですか スキルがないもんで、、、、
そなこと書かんで早くやれYo
ああ、もう待ちくたびれた。俺はもう答えん。
俺は待ってるよ。どんとこい
753 :
デフォルトの名無しさん :02/09/23 14:42
matsuda math matsuda hiro saito masa saito hiro inoue maithi これに while(<STDIN>){ /(\$+) (\$+)/; $m = $2; $m =~ tr/a-z/A-Z/; print "$2, $1\n"; } これをやったら 何も出てこないのですよ、
入力をこれ↓に差し替えるといいかも $$$$$$$ $$$$ $$$$$$$ $$$$ $$$$$ $$$$ $$$$$ $$$$ $$$$$ $$$$$$
これでOK? while(<>){ /([^ ]+) (\w+)/; my ($fam, $name) = ($1, $2); $fam =~ tr/a-z/A-Z/; print "$name, $fam\n"; }
756 :
デフォルトの名無しさん :02/09/23 14:58
>>756 さん
ありがとうございます
STDINを抜くっていうのは何かしら利点があるのでしょうか
後二行めがよく分らんです、、、
勉強不足ですいません、、、
正規表現については自分で調べてください。 [^abcd]はabcd以外 \wはワードマッチ
どうもありがとうございました。 sage忘れてました、 申し訳ありません
使用可能文字:半角英数 最大文字数:20桁 を全て表示するプログラムを教えてください!! おながいします!!
760 :
デフォルトの名無しさん :02/09/23 19:44
馬鹿まるだしだな セキュ板にでも帰れ もしくは隔離板(php板)へどうぞ
>>759 > 使用可能文字:半角英数
> 最大文字数:20桁
> を全て表示するプログラムを教えてください!!
最大文字数って何のだ ? 表示幅のことか ? だったら...
print "0123456789ABCDEFGHIJ\n";
print "KLMNOPQRXTUVWXYZabcd\n";
print "efghijklmnopqrstuvwxyz\n";
でいいと思うが。
perl -e "print A .. Z, a .. z, 0 .. 9"
RubyユーザのふりをしてPerlをののしり、Rubyユーザの評判を落とそうと仕向けている 粘着基地外がいます。放置をお願いします。騙されたり煽られたりした人がいたら フォローしてあげてください。
みんな HTMLタグをperlに埋めるときどうしてるの? エディタでごりごり書くの? それが知りたいYO
>>764 ゴリゴリは書かん。
1.テキストエディタでブリブリ書く。
2.HTMLエディタでプリプリ書き、
print <<XXXXX のところにペーストする。
>>765 なーる
だるい方法でがんばってるんだね
printのところにペーストするときって
結構コマイ作業で悲しくなったりしない?
変換するツールとか使ってないの?
なんで? print <<'EOF' hogehoge EOF でいいじゃん。
全然関係ないけど << って普通に書き込めるんですね Aboneで下が化けたもので全角にしてしまった。 print <<XXXXXXX
>>768 ん
タグ変換ツールどこにあるの?
HTMLをデザインしたら
ごそっとprint文にはさんでくれるようなつーるって無いの?
リンク先みたかぎりじゃないようだけど
まっとうなエディタ使って頭使えば そんなツールは要らんけどね。
>>770 そのままペーストすればいい、変換する必要ない。
print <<XXXXX
<HTLM>
<HEAD>
うんたらかんたら
</HEAD>
<BODY>
ちんらかんたら
</BODY>
</HTML>
XXXXX;
間違った下記ね print <<XXXXX; <HTLM> <HEAD> うんたらかんたら </HEAD> <BODY> ちんらかんたら </BODY> </HTML> XXXXX ようは、print <<XXXXX; から XXXXX までをそのまま標準出力してくれる。
>>773 そっか
perlだとごそっとこぴぺできるんだ
perlの美点があったじゃない
Cだとprintf("<html>...............</html>");
にはさむから長くなると醜くなるからある程度で細切れにしないと
いけないその点perlのほうがよいね
>>774 これを美点と見るかどうかは人それぞれ。
まぁPerlはsed,awkやらから受け継いでる部分もあるし。
777 :
デフォルトの名無しさん :02/09/24 02:04
>使用可能文字:半角英数 >最大文字数:20桁 >を全て表示するプログラムを教えてください!! >おながいします!! ん?全ての組み合わせって事か? パスワードでもクラックするのか?(藁
ちなみに漏れは分からんがな・・・。 ヘタレなのでsage
>>778 簡単だよ。
print "00000000000000000000\n";
print "00000000000000000001\n";
print "00000000000000000002\n";
:
:
print "zzzzzzzzzzzzzzzzzzzy\n";
print "zzzzzzzzzzzzzzzzzzzz\n";
一桁からって事じゃないのか? print "0\n"; print "1\n"; print "2\n"; : : print "a\n"; print "b\n"; : : print "zzzzzzzzzzzzzzzzzzzy\n"; print "zzzzzzzzzzzzzzzzzzzz\n"; まぁ、どちらにしても漏れには分からん。っていうか質問が意味不明だYO!!
ていうかfor文をいっぱい使うだけだろ。。
783 :
デフォルトの名無しさん :02/09/24 09:42
>>774 リテラルに設定しておけばいい。
printfでだらだら書くなど愚の骨頂。
Perl2exeで変換の仕方どうスルんですか?
785 :
デフォルトの名無しさん :02/09/24 11:11
#!/usr/bin/perl #main() { .... .... } と、c言語風に書く俺は邪道ですか? こういうインデントがついてないと読みづらいから。
786 :
デフォルトの名無しさん :02/09/24 11:41
>>782 ここは質問箱だろ。疑問を投げかける前に質問に答えれ!!
>>785 どうせなら
sub main(@)
{
blah blah blah...
}
unshift @ARGV, $0;
main @ARGV;
VisualPerlって VisualStudio.NETいれないと使えないの?
789 :
デフォルトの名無しさん :02/09/24 13:05
>>787 それいいですね、今度から使わせてもらいます。
790 :
デフォルトの名無しさん :02/09/24 13:40
perlではハッシュの値としてリストを突っ込む事はできないんですか?
程度の低い糞スレ
それを見てるお主も糞尿
フンニョーッ!!! キャハ★
>>790 $hoge{abc} = [0, 1, 2, 3];
みたいな。
んで、
@list = @{$hoge{abc}};
みたいな。
八種のリファレンスだよね。
リファレンスになってるのは配列で、 ハッシュの値が配列のリファレンス。
Java ServletもServlet engineをちゃんと選ばないと遅いよ。 FFのサイトはTomcatつかってたけどありゃアホだね。
Perlにswitchが無いのはLarryの趣味というかポリシーを反映した結果だよ。 if .. then .. else ..とかは英語的に読むことができるが、 switchは唐突に分野の違う言葉だからキモイ みたいなことをカンファレンスで言ってた
>>793 さん
ありがとうございます。昨日からPerlを使いはじめたばかりで
あたふたしていました。リファレンス使えばよいんですね。
>>797 Perl はぼくの好きな言語だけどたまに開発者の趣味が露骨に現れるから嫌い
C に似せてあるくせに break; が last; になっていたり、
continue や next のあたりの名前の付け方が違う。
一ヶ月に一度は last を break と書いて半日潰す。
禿同。 便利なんだか不便なんだかね。入り口が入りやすいだけに。 あと、これを書くと荒れるのかもしれないが、 オブジェクト指向の実装が微妙にヘンなのもなあぁ。 どうせとってつけたようになるんだから Objective Cみたいなカッチョエーのにしてほしかったな。
>>797 > if .. then .. else ..とかは英語的に読むことができるが、
> switchは唐突に分野の違う言葉だからキモイ
> みたいなことをカンファレンスで言ってた
それは、そうだが普通の人には perl の構文の方が唐突に分野の違う言葉ではないかと...。
802 :
デフォルトの名無しさん :02/09/25 22:10
Perlについて質問です。 $a1 〜 $a10 までの関数があるとします。 これをforループなどで全ての関数に対して同じ処理をしたいと思います。 $a$i ←このようなイメージです。$iを1〜10まで変化させるわけです。 このような場合、どのような記述をすればよいのでしょうか?
>>796 FF のサイトってファイナルファンタジーの公式サイト? そりゃ Tomcat じゃ
無理だろ。っていうかそれは道具の選定を間違ってるだけで道具に罪はない。
805 :
デフォルトの名無しさん :02/09/25 22:43
それは、 ${"a$i"} こんなふうにかいてたとえば for ($i = 1; $i <= 10; $i++) { print ${"a$i"} . "\n"; } こんなふうにできなくはないんだけど 配列変数を使うように全部書き直したほうがいいと思うよ。 応用の利くテクとしては for ($i = 1; $i <= 10; $i++) { eval("print \"\$a$i\\n\";"); } とかも。
807 :
デフォルトの名無しさん :02/09/25 23:18
なぜ配列を使わない?
809 :
デフォルトの名無しさん :02/09/26 00:34
810 :
デフォルトの名無しさん :02/09/26 00:54
811 :
棄教者 ◆KIKYO7cg :02/09/26 08:33
sub func0 { .... }; sub func1 { .... }; ... sub func9 { ... }; に対して、 @funcref = ( \&func0, \&func1, ..., \&func9 ); てすることで、 foreach( @funcref ) { &{$_}( @arguments ); } とすれば、複数の関数に対して一括処理を行うことができます。 なお、 @arguments というのは &func0, &func1, ..., &func9 に食べさせたい引数です。
漏れは C のポインタの概念がわからなくて苦労しましたが、 Perl のリファレンスを使っているうちに逆に C のポインタが理解できるようになりました。 まんせー。
>>806 for $i (0 .. 9) {
$a_ref = "a$i";
print $$a_ref, "\n";
}
でもいいでしゅか?
817 :
デフォルトの名無しさん :02/09/26 12:22
サブルーチンAの引数にサブルーチンBを指定して 使いたいんですがどうにもうまくいかないようで・・・・。 どうやればよでしょうか?アドバイスお願いします。 sub FuncB { #............. } sub FuncA { $Func = $_[0]; #? &{$Func}(); #? } &FuncA(FuncB); #?
>>812 perl のリファレンスは宣言がない分、文法的にすっきりしていると思ふ。
821 :
デフォルトの名無しさん :02/09/27 00:20
Windows98SEでFile::findを使ったプログラムを書こうとしているのですが、 「ソ」「予」「能」などの文字が入ったディレクトリ名だと、そのディレクトリ以下を 検索してくれません。 原因は、Shift-JISの2バイト目にバックスラッシュ文字が入っているためだと思うのですが、 これを回避するためのFile::findに対するパッチなどはありますか? 使っているperlは、ActivePerl5.6.1 BinaryBuild 633です。
822 :
デフォルトの名無しさん :02/09/27 11:44
>>821 パッチはないと思う。
自力で\x5cを追加しておくれ。
ラクダ本新しいの買った?なんで洋書の2倍の厚さと値段で 同じページ数なのyo! (洋書の方が紙が薄い)
PerlerはCurlをやれば もう馬鹿にされない(と思う) がCurlが主流にならなければ馬鹿にされてしまう
827 :
スンスンブラクラできたよー(・∀・) :02/09/27 22:45
@sun = ('スン','スーン','( ゜Д゜)ハッ'); for ($sunn=0; $sunn<1; $sunn--){ $sn = "$sun[0],$sun[1],$sun[0],$sun[2]\n"; print "$sn\n"; }
ブラクラの意味すら知らんのか。
自作自演ですか?
curlは絶対に、はやらない
832 :
スンスンブラクラできたよー(・∀・) :02/09/27 22:56
>>828 いや、実行してみたらそんな気分になったわけで…
止め方がわからないわけで…
>>833 アフォ
でてきたばかりで終わってるはないんじゃないの?
だいたい833は言語仕様の概要程度でもいいから知ってるの?
もちろん漏れは知らないけどね
>>834 ていうか2chのスレでは去年の夏ごろにおまえの紹介した
ホームページそのままの内容がコピペされてるだろうが。
ということは、それから一年以上もまったく更新のされていないページを
おまえはこのスレッドで紹介したことになる。
そんな言語を「死んだ」言語だといって何か問題があるのか?
836 :
デフォルトの名無しさん :02/09/28 13:51
837 :
デフォルトの名無しさん :02/09/28 13:54
@sun = ('スン','スーン','( ゜Д゜)ハッ'); $"=','; while (1) { print "@sun\n"; }
@sun = ('スン','スーン','( ゜Д゜)ハッ'); foreach (@sun){ print "$_"; }
839 :
デフォルトの名無しさん :02/09/28 15:43
@sun = ('スン','スーン','( ゜Д゜)ハッ'); foreach (@sun) { print; }
print foreach ('スン','スーン','( ゜Д゜)ハッ');
841 :
デフォルトの名無しさん :02/09/28 16:03
842 :
デフォルトの名無しさん :02/09/28 16:04
print join ',', @sun;
$sun = 'スン'; @suun = ('スーン','( ゜Д゜)ハッ'); $surn[0] = $sun . $sun . $suun[0]; $surn[1] = $sun . $sun . $suun[0] . $suun[1]; foreach (@surn){ print "$_\n"; }
844 :
837へ。 :02/09/28 19:32
@sun = ('スン','スーン','( ゜Д゜)ハッ'); $"=','; while (1) { print "@sun\n"; } を10回繰り返すにはどうすればいいの?
for文にするなりカウンタ変数つけるなりすりゃいいじゃんか…
for( $i = 0; $i < 10; $i++ ) { @sun = ('スン','スーン','( ゜Д゜)ハッ'); $"=','; while (1) { print "@sun\n"; } }
>>836 日本語フォント対応 2002/9予定
IDE 2002/12予定
日本語マニュアル Curl Programming Bible翻訳版 2002/12予定
だそうだ
お前見込みあるよ
@sun = ('スン','スーン','( ゜Д゜)ハッ'); print "何回スンスンしまっか?>"; $un= <STDIN>; for ($suun=0; $sunn<$un; $count++){ print "$sun[0]$sun[0]$sun[1]$sun[2]\n"; }
>>848 for 文は
for( $suun = 0; $suun < $un; $suun++ ) { # $count++ じゃない
でしょ。
>>849 2日前にやり始めたんで何が違うかわかりま千。
$count と $suun の違い。
852 :
デフォルトの名無しさん :02/09/29 12:05
すいません、アクセスカウンターを作ろうと、入門書をよみながらコードを書いたのですが いざCGIファイルを開いてみると、サーバーエラー、となってしまいます。 何が問題かさっぱりわかりませんコードは↓です #! c:/perl/bin/perl # カウントファイルの読み込み open(IN, "<C:\Apache\htdocs\tendays\count.dat"); $count = <IN>; close(IN); ++$count; # カウントファイルへの書き込み open(OUT, ">C:\Apache\htdocs\tendays\count.dat"); print OUT $count; close(OUT); # ヘッダー・HTML出力 print <<END; Content-type: text/html <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"> <html> <head><title>あくせすかうんたぁ</title></head> <body> <p>あなたは・・・・・$count番目の訪問者です。</p> </body> </html> END
すいません、コードのコピペ間違えました #! c:/perl/bin/perl # カウントファイルの読み込み open(IN, "<./count.dat"); $count = <IN>; close(IN); ++$count; # カウントファイルへの書き込み open(OUT, ">./count.dat"); print OUT $count; close(OUT); # ヘッダー・HTML出力 print <<END; Content-type: text/html <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"> <html> <head><title>あくせすかうんたぁ</title></head> <body> <p>あなたは・・・・・$count番目の訪問者です。</p> </body> </html> END
>>853 悪いことは言わんから、黙って WebProg 板へ行け。そっちの方がまともな回答が得られるぞ。
次スレはいらないぞ。
続きはWebProgへいけ 二度と戻ってくるな。
857 :
デフォルトの名無しさん :02/09/29 12:33
「超」がつく程の糞言語 = Perl
print "何回スーンしますか?"; print (("スン スーン ( ゜Д゜)ハッ\n") x <STDIN>);
perlはVBよりも糞なんですか?
はい、糞です。 ↓次、どうぞ
861 :
デフォルトの名無しさん :02/09/29 13:22
Ruby愛甲!
perlはHSPよりも糞なんですか?
863 :
デフォルトの名無しさん :02/09/29 13:32
いぇs
はい、糞です。 ↓次、どうぞ
>>853 勘で、、
count.dat のパーミッションに w 入れてる?
パーミッションに(w
867 :
デフォルトの名無しさん :02/09/29 16:43
サーバはunix系じゃないのか アレがapacheだったらログ見ればある程度分かりそう
868 :
デフォルトの名無しさん :02/09/29 16:47
>>862 rubyプログラミングしたことないのに、ruby愛好家なのか
>>852 c:/perl/bin/perl
が変。
おたくのプロバイダーのCGIの説明書を読んで、
Perl のパスがどこにあるかを確認してください。
この件に限っては、荒らしが書いているとおり、 WebProg 板に逝った方が
親切な回答が得られそうです。
>>868 まちがったんなら訂正してくれよ。
とりあえずperlやめる。買った本も理解したんで。HSP以下の言語らしいし。
>>863 >>864 ← 二人もそういっているし。
CGIは始めっからやる気ないし。
はじめたりやめたりするほどご大層な言語じゃなかろう? 使う用事がないならさいしょっから無駄なことしなけりゃいいのに。 人生そんなのの繰り返しなんだろうなこの人。
perlって、管理に使うとウマー。 一般ユーザアプリにはあんまり使えないけど、 それは糞だからというわけではなく、 適材適所名だけ。 HSPも管理にはつかいづらいんじゃない? 使ったことないからわからないけど。
>>869 > この件に限っては、荒らしが書いているとおり、 WebProg 板に逝った方が
> 親切な回答が得られそうです。
俺って、「荒らし」だったんだ...。
で話変わるけどさ Apacheで使える mod_なんたらのperlってあるのか貴様ら IISはActivePerlだっけ? 多少速くうごくやつあるよね って聞く態度じゃないなあ
大きめのログファイルを末尾から一行ずつとりだすのに<>を使う方法ってないですか?
877 :
デフォルトの名無しさん :02/09/30 02:20
878 :
デフォルトの名無しさん :02/09/30 07:36
@lines = `tail hoge` 一行づつ読んでくるのは大変かも 単純に一回全部読み込んで、逆順で取り出すなら楽だろうけど
"大きめの"ってのがどれくらいかにもよるわな。
>>876 そんなニーズはほとんどないから無理。
素直に後ろからシークしていけ。
881 :
デフォルトの名無しさん :02/09/30 13:24
質問です。 携帯でも書き込み可能な掲示板で、PCとかiMなどの端末表示をしたいと思っています。 #$modeを文字に変換 if($mode == 1){$tanmatsu = "iM"}; if($mode == 2){$tanmatsu = "JS"}; if($mode == -1){$tanmatsu = "EZ"}; if($mode == -2){$tanmatsu = "DX"}; if($mode == 0){$tanmatsu = "PC"}; # タイムスタンプ生成 ($sec,$min,$hour,$mday,$mon) = gmtime($gtime+$TIMEZONE*3600); $timestamp = sprintf("%02d/%02d %02d:%02d <%s>",++$mon,$mday,$hour,$min,$tanmatsu); $tanmatsuに端末の略称を入れて、$timestampに付加して表示させようとしてるのですが、 <%s>の部分だけごっそりなくなって表示されてしまいます。 どうすればいいのか教えて下さい。
$mode の値がなにかわからんけど、独立したif文にしないで elsifとelseも 使って書かないとデフォルト値を $tanmatsu にセットすることもできんのじゃ?
>>882 んー、その前にこんなのがあるから、こんな風に書いてみたんですけど…。
# ---ブラウザ種別をチェック(iモード:1 EZインターネット:-1 PメールDX:-2 J-Sky:2 その他:0 )
$user_agent = $ENV{'HTTP_USER_AGENT'};
if($user_agent =~ /DoCoMo\//) { $mode = 1; }# iモード
if($user_agent =~ /UP\.Browser\//) { $mode = -1; }# EZインターネット
if($user_agent =~ /PDXGW\/\d\.\d/) { $mode = -2; }# PメールDX
if($ENV{'HTTP_X_JPHONE_MSNAME'} ne '') { $mode = 2; }# J-SkyWeb (Ver3.10)
# PDAモード(ザウルス・コミパル・Dialo)
if($user_agent =~ /sharp pda browser/ || $user_agent =~ /Dialo/) { $pda = 1; }
>>881 <hoge>がタグのように見えるから。
どうすればいいのかはHTMLの基礎を学んでください。
>>883 それなら変数$mode を使わずに直接 $tanmatsu にセットしたら?
if($user_agent=~ /DoCoMo/i){ $tanmatsu= 'iM'; }# iモード
elsif($user_agent=~ /UP\.Browser/i){ $tanmatsu= 'EZ'; }# EZインターネット
elsif($user_agent=~ /PDXGW/i){ $tanmatsu= 'DX'; }# PメールDX
elsif($ENV{'HTTP_X_JPHONE_MSNAME'}){ $tanmatsu= 'JS'; }# J-SkyWeb (Ver3.10)
elsif($user_agent=~ /sharp pda browser|Dialo/i){ $tanmatsu= 'PDA'; }
else { $tanmatsu= 'Other'; }
>>884 タグと認識されて消えてるってことですか。
わかりました、学んでみます。
ありがとうございました。
>>885 配布してるCGIに手を加えてるんですけど、他にも$modeってたくさん使ってるので…。w
その部分に$modeと$tanmatsuを2つ書けば済む話なんですけど、
あとで修正箇所が分かりやすいように、別に書きました。
888 :
デフォルトの名無しさん :02/09/30 14:21
>>888 あんたにとってはだろ
サイズ(データ全体)の分からないものの末尾から処理出来るわけ無いじゃん
>>889 perl -e 'print reverse <>'
試しに
>>881 の
$timestamp = sprintf("%02d/%02d %02d:%02d <%s>",++$mon,$mday,$hour,$min,$tanmatsu);
これを、
$timestamp = sprintf("%02d/%02d %02d:%02d %s",++$mon,$mday,$hour,$min,$tanmatsu);
に直してやってみたんですけど、まだ表示されません。
>>884 さんの理由であってるんしょうか?
sprintf("%02d/%02d %02d:%02d $tanmatsu",++$mon,$mday,$hour,$min); でホントに $tanmatsu に値が入ってるか確認。
>>893 ありがとうございます。
それでも出ないですね。^^;
もしかしたら、$timestamp変数を代入する所ではなく、実際表示する部分(?)で何か細工があるのかな?と思ってみたり…。
>>895 おまえ意図的にレスを飛ばしてないか?
if文ですべて式が真じゃなくて偽だから値がセットされてないことに気づけ馬鹿。
>>896 =
>>882 (?)
一度は「elseif」を使った文も試してますよ。
でも、配布されてるCGIソース(
>>883 の部分)が正しいから、なくてもできると思ったのですが…。
elsifよりも最後のelse。または$tanmatsuを初期化しとけってこと。
>>898 初期化しても、何も出ないっす。
やっぱり、おそらく表示する所で何かあるのか…。
「CGI は Web プログラミング板へ。」って 書いてあるのにしつこくしつこくCGIの話をここでしようとするってのは どういうつもりなのかね。
>>889 なんでニーズと技術的な話を混同させて話してるの?
903 :
デフォルトの名無しさん :02/09/30 19:07
889さんは房なんだから、いじめちゃかわいそうだよ。。。
904 :
デフォルトの名無しさん :02/09/30 19:20
ちなみに、while <>の逆順処理はforeach revese <>で可能。ただし、少し重い。
教えてください。 -fとか-dでファイルが実在するかどうかをチェックするさいに、その大文字、小文字を 区別しないようにしたいのですが、なにかよい方法はありませんでしょうか。 どのような関数を書けばいいのでしょうか?すみませんが教えてください。
大文字・小文字を区別しないシステムならそれでチェックできると思うが
907 :
デフォルトの名無しさん :02/09/30 20:10
908 :
デフォルトの名無しさん :02/09/30 20:11
>>905 それ難しいかもね。
てゆうか、ディレクトリ中にあるファイル名全部出してきて、
そのリストに対して比較するしか無いような気がする。
他にやり方あったら誰か書いてよ
>>908 それが一番スマートだな。
sub is_exists_file_in {
local *DIR;
opendir DIR, shift or return;
my %file = map { lc, $_ } readdir DIR;
closedir DIR;
return map $file{$_}, grep $file{$_}, map lc, @_;
}
ファイル名を一文字ずつバラして正規表現組み立てるってのも
考えついたが、明らかに上に挙げた例の方が分かり易かろう。
910 :
デフォルトの名無しさん :02/09/30 21:43
初めて質問させていただきます。 sendmailで自動的にメールを送ります。 Windowsに送ると読めて,Macに送ると化けてしまうって時, 原因はどういったかんじでしょうか? 縺九i縺ョ縺疲ウィ譁・「コ隱阪Γ繝シ繝ォ こんなかんじ。
912 :
デフォルトの名無しさん :02/09/30 22:06
911=906
914 :
デフォルトの名無しさん :02/09/30 22:53
コードがわからないと原因なんてわからん
>>909 様
どうもありがとうございます。
すみまんせが良く分からないのでさらに質問させてください。
これだと、ファイル名がFoo/hoge/AAA.gifとかいうようにディレクトリ階層が
何個かある場合にもうまくいくのでしょうか???Foo/hoge/AAA.gifというのを
引数で与えた場合にも例えばfoo/Hoge/Aaa.gifというファイルが実在していれば
trueを返すような関数がほしいのです。。。すみませんご教授ください。
916 :
デフォルトの名無しさん :02/10/01 02:17
すごいね。Perlスレなのに1000行きそうだね。
917 :
デフォルトの名無しさん :02/10/01 02:36
Perlのコンパイラって作れませんか? Perl2exeみたいな偽者じゃなくて。
Perlcc
gpc
sub is_exists_file { my @path = split m|/|, shift; pop @path if $path[$#path] eq ''; if ($path[0] eq '') { $path[0] = '/' } elsif ($path[0] !~ /^\.+$/) { unshift @path, '.' } my $path = shift @path; defined(($_) = is_exists_file_in($path, $_)) ? ($path .= '/' . $_) : return for @path; return $path; } ところでこのコードがやってることは当然理解してるよな? -f や -d 一発で済むところを、わざわざ重そうな処理を加えるんだ。 大文字小文字の区別をしないのがそれほど重要なことか、 もう一度考えた方がいいぞ。
921 :
デフォルトの名無しさん :02/10/01 22:42
readでファイルからバイナリデータを読み込ませたいのですが 0x19,0x1D,0x1Eが正常に認識されないみたいなのです。 printで表示した場合、 0x19 … 表示されず 0x1D,0x1E … 違う値が表示される となります。 何故なんでしょうか?
違う値ってどういうのが?
923 :
デフォルトの名無しさん :02/10/01 23:13
コードをかけ
924 :
デフォルトの名無しさん :02/10/01 23:17
>>922 read(FILE,$data,2);
$num =unpack("n",$data);
print $num;
これを実行した時に
0x1A … 表示されず
0x001D … 173
0X001E … 174
と表示されてしまいます。
訂正:
>>921 で、"0x19 … 表示されず"と書きましたが0x1Aの間違いでした。
>>924 unpackの使い方がそれでは、、、結局どういうかたちで取得したいの?
文字? 文字コード?
926 :
kalma ◆eRZ2quxw :02/10/01 23:34
>>925 ネットワークバイトのshort型整数をファイルから取得したいのですが…
やり方が間違っているのでしょうか?
二次元配列に対してsplice関数を使用するにはどうすれば?
>>927 例えば、こんなこと?
$ar[0][0]="00";
$ar[0][1]="01";
$ar[1][0]="10";
$ar[1][1]="11";
$ar[2][0]="20";
$ar[2][1]="21";
splice(@ar,1,1);
for $i (0 .. $#ar) {
@tmp=$ar[$i];
for $j (0 .. $#tmp) {
print "$ar[$i][$j]\n";
}
}
>>924 binmode FILE;
じゃないか?
>>927 for(@ar) {
print "@$_\n";
}
でもいいよ。要するに無名配列は配列へのリファレンスってこと
わきまえてりゃどうやってもいい。
>>928 @tmp=$ar[$i]なんてやる必要ない。
for $j (0 .. $#{$ar[$i]}) {
ってしる。
932 :
デフォルトの名無しさん :02/10/02 22:40
>>929 binmodeは設定しています
一体何が悪いんでしょうか・・・
933 :
デフォルトの名無しさん :02/10/02 22:52
0x1Aの問題はMS-DOSのEOFコードが0x1Aだからだと判りました。 これの回避法ってあるんでしょうか?
934 :
デフォルトの名無しさんぺいです :02/10/03 01:05
tr/\x1a//d;
誰か、NamazuでZipファイルの中身を検索するフィルタを書いた人いないの? gzip, bz2用はあるのに、zipのはないんだよねえ。
936 :
デフォルトの名無しさん :02/10/03 03:17
●●●●●●●●「オセロさえ納期内に作れない=OO役立たず 」祭り●●●●●●● /| | |_____ΦΦΦΦΦΦΦΦΦΦΦ||ΦΦΦ | | | ̄ ̄ ̄ /| || | | | / /|TTTTTT TTTTTTTTTT||TTTTT | /\ | /|/|/|^^^^^^ |三三| ^^^^^^^^^^^||^^^^^^^ | / / |// / /| | / / |_|/|/|/|/| | / / |文|/ // / |/ /. _.| ̄|/|/|/ Λ_Λ /|\/ / / |/ / (___) /| / / /ヽ /〔 非OO 〕〕つ | | ̄| | |ヽ/l `/二二ヽ | | |/| |__|/ Λ_Λ / /(_) | |/| |/ ( ´∀`) (_) Λ_Λ | | |/ // / ^ ̄]゚ (` ) | |/ ゚/ ̄ ̄_ヽ ⊂〔〔 非OO 〕
>>933 出力用ファイルハンドル(例だとSTDOUT)もbinmode()してる?
多次元配列の同じ場所を何度も参照するときには、 その値をローカル変数にコピーした方が効率がいい? それともヘタに変数を増やすとメモリを喰って効率が落ちる? # 1 if($array[0][0][0] == 0) { } elsif($array[0][0][0] == 1) { } elsif($array[0][0][0] == 2) { } # 2 my($copy) = $array[0][0][0]; if($copy == 0) { } elsif($copy == 1) { } elsif($copy == 2) { }
本を見ながらPerlを勉強してるのですが、 環境がUNIX?でないせいか(WinでActivePerl+httpdでやってますが) 本の通りに書いても<STDIN>で入力できません(? 上記の環境で<STDIN>を使ったスクリプトを試すにはどうしたらよいでしょうか?
>>939 MS-DOSプロンプトを起動して
C:\>perl -v
って入力してみてください。
なんか出てきましたか?
>>940 This is perlうんちゃら…って出てきますが…?
リファレンスについて質問。 sub test { my(@array) = (1,2,3); $hash{'a'} = \@array; return; } @array[0]は当然null。 $hash{'a'}->[0]は1。 なぜこうなるのかが分かりません。
>>942 変数名は実際の「値」に付いている「名札」に過ぎず、
「値」自身はそれを参照する「名札」が全部消えるまで
メモリに残っているから。
その例だと test の中で (1,2,3) という各「値」に @array という
「名札」を付けている。@array は my で宣言されている「名札」なので
test の中でしか使えないが、$hash{'a'} という「名札」は
グローバルな「名札」なので、test のスコープから抜けた後でも
(1,2,3) という「値」を見る為に使える。
詳しくは「ガベージコレクション (GC)」「クロージャ」
「リファレンス (参照) カウンタ」といった単語で調べて。
>>943 >>942 じゃないけど、明解レスありがと。
漏れも質問に答えてんだけど、質問者からの感謝がないのが
このスレの特徴かな。
>>941 OKです。
UNIXで勉強するPerlの本にはコマンドプロンプト云々と書いてありますが、
MS-DOSがそのコマンドプロンプトになっています。
たとえば
---data.txt----
unko
chinko
manko
-------------
という三行のファイルを用意して
---hoge.pl----
while(<STDIN>) {
print $_;
}
-------------
という Perl スクリプトを用意して
C:\>perl hoge.pl < data.txt
してください。
これで後は厨学生程度の大脳があれば STDIN は理解できるはずです。
厨学生程度の大脳があればコテを使わず WebProg板にでも誘導するんだがな
糞コテは死ね
固定ハンドル=低スキル
荒らさないで!
次スレは立てるなよ。WebProgにでも引きこもっていてくれ。
次スレ立てても良いけど自称「厨房」なんてのの相手はしないで欲しい。 あと、perldoc読めば済むような話を色々解説するのもどうかな。
次スレを立てるのは禁止。 はい決まった。
糞Perlユーザの分際でスレッドなんか立てるなよ糞馬鹿
用事がないなら見なけりゃいいのになんでわざわざ出てきていらんこと書くのかな。 お呼びじゃないってやつですね。
おまえがな。ぷぷぷ 次スレは絶対に立てるなよ。荒らした上で削除依頼出すからな。
>>944 お礼が欲しけりゃ余所に逝け。二度と出て来るな。
これは次スレ絶対立ててくれという依頼ですか? プ
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Perl ぷぷぷ 反論したいか?反論したいんだろ?ぷぷぷ大爆笑 お前らには無理。 Perlみたいな糞言語を使う奴らは人間以下
逆に「次スレはいらん!」とか言ってるやつが次スレ立てそうだ(わら ほんで日ごろの鬱憤をはらす、と。
娘はやらん!
日常生活で随分虐げられて過ごしてるんだろうな。 こんなつまらんことで人を見下したくなるっていうのは。 次スレ立たなかったら自分を保てなくなっちゃいそうだ。 誰か立ててあげれ
っっっっっっっっっp
この板って、スレッドを立てた奴のリモートホストが見られるって知ってた? ぷぷぷ ばぁぁあか 死ねよ
WebProgに逝けば? ム板で厨房言語のスレッドを乱立させないで欲しい。
そうじゃなくてくだらない話題はよその板でやってくださいと
書いたPerlのスレを立てておかないと
いつか
>>1 みたいなのがまたでてきちゃって元の木阿弥なのでは?
は?板の注意事項に「Perlのような厨房言語はWebProg板へ」と書いておけば済むことだろ。
ん? じゃあそうしたら? まあ、
>>966 にはそんなごたいそうなことは一生できないでしょうが。
たぶん「今荒らしてるやつが」 「検索しましたが一覧にないようなので立てました」とかいいつつ 次スレを立てると思うよ。
1000鳥合戦ってのはなさそうでつね。
まぁ、しびれを切らした君みたいな厨房が立てるんだろうな。ぷ
971 :
デフォルトの名無しさん :02/10/03 19:36
この板って、スレッドを立てた奴のリモートホストが見られるって知ってた?
また、ruby基地外の荒しが始まったな。 無視して便利なPerlの恩恵に与ろうぜ。
ウメタテタ
イ
タタタ
イ
タテタメウ
ウメエコノミカン
カミノンコウメエ
アナグラムシテミタ
ミタナアグラシテ
982 :
うんこ厨房 :02/10/03 20:46
スレッド一覧になかったのでperlスレたててもいいですか?
ヤメテ
イタチガイデス
ウンコキタナイ
プロバイダにおまえのIPを突き止めてもらった。 これから住所の特定に入る。
プーン
ソロソロスパートダョ
ダョ
ダョダョ
ダョダョダョ
ダョネーダョネー
ナンノウタダケ
マァィィャ
マィマィ
ばーぁ
997 :
デフォルトの名無しさん :02/10/03 21:22
yrdy
998 :
デフォルトの名無しさん :02/10/03 21:22
tesdt
1000 :
デフォルトの名無しさん :02/10/03 21:23
test
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。