- 1 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 19:10:40 ]
- "The duct tape of the Internet" こと、Perlについての質問箱です。
"There's more than one way to do it" ということで、 Perlの奥深さについて皆で語り合い、追求してまいりましょう。 CGIについての質問は板違いです。WEBプログラミング板でどうぞ。 CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。 ( WEBプログラミング板 pc11.2ch.net/php/ ) CGIの質問は答えが Perlと全然関係ない話に帰着する場合が 多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。 このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。 スレ違いの質問にはスルーか、速やかな誘導をお願いします。 www.perl.org/get.html ● 2008/08/11 現在の最新版(安定版): 5.10.0 ● 2008/08/11 現在の開発版: 5.9.5 ▼ 前スレ Perlについての質問箱 36箱目 pc11.2ch.net/test/read.cgi/tech/1215569470/ リンク集は>>2-3 Perl 日本語処理の基礎の基礎 >>4 過去スレは>>5-6 あたり
- 877 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 10:07:17 ]
- >>876
# LWP::Protocol::http のソースは見ずに。 == 例 == use Data::Dumper ; my @arr= qw( hoge foo ) ; my %hash = ( hoge => 1, @arr, ) ; print Dumper \%hash ; == 例終り == これと同じで、@EXTRA_SOCK_OPTS ; で設定した key, value(SendTE => 0) にて、デフォの挙動の key, value(SendTE => 1)が上書きされる。 >★$self->_extra_sock_opts($host, $port), がどう解釈もくそも、まんま LWP::Protocol::http の内部サブルーチン呼んでんじゃん。 # $host,$port がどうにも謎なんだが
- 878 名前:876 mailto:sage [2008/09/15(月) 10:16:13 ]
- >>877
サブルーチン呼んでいるというのは分るのですが、自分の知識だと ># $host,$port がどうにも謎なんだが が解決しないのです
- 879 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 10:20:27 ]
- 再定義するとき必要になる情報列挙しといたんだろ。
- 880 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 10:44:16 ]
- >>878
「どうにも謎」と書いたが、それは「作者の意図が分らん」って意味であって perl の挙動としては $host,$port 完全無視である事は明白。
- 881 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 11:56:08 ]
- おしえてくだしあ
wc -l ファイル名 でファイルの行数を取得したくて $count = system("wc -l ファイル名"); みたいにしてるのですが、0が入ります コマンドで取得した行数を変数にぶち込むのはどういうやり方でやるんですか
- 882 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 12:19:45 ]
- open使え
- 883 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 12:24:11 ]
- >>880
# to be overridden by subclass これが作者の意図だろ。 サブクラスで使うかもしれない情報を渡しているだけ。
- 884 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 12:25:01 ]
- >>881
systemのマニュアルエントリに書いてあるお
- 885 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 00:28:39 ]
- >>881
`wc -l ファイル名`
- 886 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 03:58:16 ]
- my $ref_array = [10, 20, 30];
print "@$ref_array[1]\n"; ←1 print "$ref_array->[1]\n"; ←2 1と2で、どっち使うの?
- 887 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 05:19:04 ]
- my $a = "a";
print "$main::a"; これで何も表示されないのですが、 この時のmy $aは何パッケージに なっているのでしょうか?
- 888 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 06:13:33 ]
- 古い処理 → シンボリック レファレンス
新しい処理 → ハード レファレンス 古いやり方 → &をつけたサブルーチン呼び出し 新しいやり方 → ()をつけたサブルーチン呼び出し 古いやり方 → パッケージ 新しいやり方 → モジュール 、、、まだある?
- 889 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 06:44:35 ]
- $v="aaa";
$r="v"; print "$r\n"; print "$$r\n"; これが シンボリック レファレンス か。 キモイな。
- 890 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 07:09:33 ]
- アロー演算子は
デリファレンスの時と オブジェクト指向のときと、 二つの場合で使われるの?
- 891 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 08:13:10 ]
- モニタのインチ数を指定すると、画面の縦横サイズを
出力するスクリプトを書きたいのですが、どうしたらいいでしょうか? my $in = 19; # 指定されたモニタのインチ数 my $rt = 2.54; # 一インチは2.54センチメートル my $a; # これを求めたい my $x = 4; # 横の比率 my $y = 3; # 縦の比率 # 三平方の定理 # $in**2 = (($x*$a)**2)+(($y*$a)**2) # $in = ((($x*$a)**2)+(($y*$a)**2))**(1/2)
- 892 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 08:15:49 ]
- ↑>>891の続き
$in から $a の値を導き出すことが出来たら、 縦横サイズをセンチメートルで出力するのは簡単なのですが、 式の整理が上手くいかず躓いています。 もし宜しければご教授お願いいたします。
- 893 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 08:22:57 ]
- ↑>>892の続き
自己解決することが出来ました。 4:3モニタの場合は、インチ数である対角線の比率が5、 16:9モニタの場合は、18.36になるようです。
- 894 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 08:54:26 ]
- 多次元配列とか使わないでも
MySQLとかで解決したほうが速いよね?
- 895 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 09:43:18 ]
- kabocha.org/jelfe/07/28.html
このページわかりやすいね。
- 896 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 10:09:05 ]
- regex::ってなに?
正規表現をかんたんにするためのモジュール?
- 897 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 10:29:14 ]
- Perl Tutorial 93 - Arrays of Arrays
jp.youtube.com/watch?v=oAW7E3pmBCM これちょっとごちゃごちゃしてて よくわからんなー
- 898 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 11:14:56 ]
- つか、perlで$aと$bは普通の変数として使うな。
- 899 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 12:24:20 ]
- >>887
myで宣言された変数はレキシカル変数といい、パッケージ変数とは別物。 レキシカル変数は、パッケージに属するのではなく、レキシカルスコープに属する。
- 900 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 15:25:09 ]
- >>899
でもメインパッケージの中に属しているわけだから $main::aで表示できるはず、、、、 ってなにか変なこと言ってます?
- 901 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 15:25:58 ]
- もしかしてこないだやってた議論と
本質的に同じ?
- 902 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 15:35:53 ]
- タダの自演
- 903 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 15:48:35 ]
- >>900
$main::aとすると、mainに属するパッケージ変数を参照することになります。 my $a は、レキシカル変数であり、パッケージ変数ではないです。 パッケージ変数を作りたければ、 our $a; と、宣言しましょう。
- 904 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 15:59:20 ]
- ふーん
デタラメ書くと親切にしてもらえるんだな
- 905 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 18:09:55 ]
- sortでハマるんですね。わかります。
- 906 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 18:26:56 ]
- 独り言書かなきゃ死ぬ人と教えなきゃ死ぬ人で需給が成り立ってるから
sort でハマっても解決される仕組みになってるはず。 いろいろループしてますよね。>>541>>562-563
- 907 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 18:50:20 ]
- 教えなきゃ死ぬ人はあまりにも少なく、あまりにも短命。
- 908 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 20:17:56 ]
- 「初心者がPerlを頑張るblog」みたいなのを開設したら
結構な面白いサイトになりそうなのが惜しまれる
- 909 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 20:48:04 ]
- こいつはだめだろ。全然成長していない。
リア厨かと思ってたけど、昼間も書き込んでるんだな。
- 910 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:31:08 ]
- その話題も既出
- 911 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 00:13:58 ]
- ファイルの一番外側に見えない { } があると思うと良いんじゃないかな。
{ my $a = "a"; }
- 912 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 02:42:47 ]
- じゃあどこの会社のブログで
開設したらいいか調べてよ アクセス解析ないとやだけど。 できればアパッチの生ログに近い感じで 見れるとこ。勝手に統計的にまとめて表示 するのはだめ。 それとアホがきたときにはきちんと アク禁できること。 これが条件。perlお得意のムーバブルタイプで 対応できる?
- 913 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 07:42:44 ]
- kabocha.org/jelfe/07/21.html
クロージャーの説明読んだが、さっぱりわけが わからんな。 もしかして、最新言語だったら、 オブジェクト指向でやるようなことなのか?
- 914 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 08:30:44 ]
- >912
何時何分何秒、地球が何回まわったときなのか答えろよ! って反論する小学生を思い出した
- 915 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 11:04:08 ]
- (1)
型グロブと、グロブって違うものだよね? (2) グロブって普通に使うものなの?
- 916 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 11:45:52 ]
- perlの予約語一覧ってどこにあるの?
getkeyが予約語かどうか、知りたいんだが。
- 917 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 11:55:11 ]
- ぐぐったらわかった。
予約語じゃないってさ。 なんか、perlのマニュアルに載ってるらしい。 mapの使用例として。
- 918 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 13:19:23 ]
- スペースキーを押したら
メッセージを出す、ってできないの?
- 919 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 13:35:25 ]
- 今、レファレンスの勉強をしているんだが、
$a=1; こうした時に、$aには何が 入っているのか? 1がはいっているのか、あるいは 1のアドレスが入っているのか。 あるいは、1のアドレスを指し示した物が 入っているのか。
- 920 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 13:41:16 ]
- 1だろ。
あと$a,$bはsortが使うので以下略
- 921 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 13:43:50 ]
- >>920
だってレファレンスの解説サイト見たら 「違う」って書いてあったもん
- 922 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 13:46:42 ]
- $a = \1;
- 923 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 13:50:37 ]
- y///
↑なにこれ。 入門書にのってないんだけど。
- 924 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 14:13:09 ]
- レファレンスなの?
リファレンスなの?
- 925 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 15:58:22 ]
- バファレンス
- 926 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 16:57:33 ]
- >>923
>sed の信仰者のために y が tr の同義語として提供されています。 だそうです。
|

|