[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 01/23 21:37 / Filesize : 239 KB / Number-of Response : 927
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Perlについての質問箱 37箱目



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 あたり

756 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 08:00:27 ]
>>736
my $index = 2 ; # 抜きたいindex
my @dat = qw( 1 2 3 4 5 6 ) ;
push @dat, ( splice @dat, $index )[1.. $#dat - $index] ;
print @dat ;

定番

757 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 08:03:04 ]
>>750
%hash をリストと見做して [] にて無名配列へのリファレンスに突っ込む。
@{} にてそのリファレンスをデリファレンス。

758 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 08:04:38 ]
>>756
$numberが…
二行に分ければ済む事だけど

759 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 08:27:14 ]
jp.youtube.com/watch?v=xBTsQ6e7gXY&feature=related
これって何やってるの?

760 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 11:56:00 ]
>>740
了解しました。
一気にその行に行く方法はないんですね。

761 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 12:24:25 ]
>760
配列にでも突っ込めば?

762 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 12:42:21 ]
>>760
あらかじめ各行の先頭位置を別に記録してあればseek一発だが、そういう
準備がされてなければ頭から読むしかないね。なにもないときは頭から
改行を頼りに行数を数えるしか何行目か知る方法はないのです。

763 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 14:04:15 ]
>>761
行数が多い場合、コストが高そうな気がして。。。

>>762
やはりそうですか。
どもです。

764 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:22:23 ]
yyyymmddの日付を比較したいのですが
どうすれば一番簡単ですか



765 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:48:42 ]
比較だけなら、そのまま比較すれば意図した通りの結果になるんじゃない?

766 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 22:38:26 ]
ディレクトリの中にファイルがあったら
ディレクトリを空にする、という処理をしたいのですが

if(-e "$path/"){
削除処理
}
みたいなものだと、ディレクトリそのものが認識されて
ファイルを認識してくれません

どうすりゃええんでしょうか


767 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 22:40:18 ]
>>766
ディレクトリを読んでファイルがあるかどうか調べるといいよ。

768 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 22:57:02 ]
opendirあたりでヤルしかないですか
遠回りだと思ってたけどそれが一番なのかな


769 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 23:02:59 ]
グロブ使えよ。
中作業だろ。

770 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 23:05:57 ]
File::Slurpのread_dirが便利

771 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 23:17:50 ]
これじゃダメ?

if(<$path/*.*>){
削除処理
}

772 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 23:45:39 ]
>>769
グロブの使い方がわからないであります

>>770
多分はいってないです

>>771
ためしてみます

773 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 01:45:46 ]
5.10が動くレンタルサーバーってどこがある?

774 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 02:24:36 ]
事前に膨大な乱数表作っておいて、
substrだけで抜き出して会話するってできる?



775 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 05:35:12 ]
>774
どういうこと?

776 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 05:42:43 ]
my $a="g'oiaherugbapowirhaysrgpairhja]ierhgtauw[eifbgaeirhuecf[awierbawirt]aebm";
等の100万語ぐらいの膨大な量の乱数表みたいな
語句のリストをあらかじめ作っておいて、
「hello」って表示したい場合は
「5」番目と「7番目」と「12番目」を抜き出して
表示する」みたいな。

たまたま、うまくつながってるところを見つけると、
ポイントアップです。

777 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 05:43:46 ]
index と substrを組み合わせたゲームね。

778 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 06:04:15 ]
(1)
use feature qw( :5.10 );
my $t;
$t=localtime;
say $t;

-------------------------------
(2)
use feature qw( :5.10 );
my $t;
$t=localtime(time);
say $t;

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(1)と(2)で、実行結果が変わらないのだが、なんで?
どっちでもいいの?
じゃあ、timeの立場は?

779 名前: ◆TWARamEjuA mailto:sage [2008/09/10(水) 06:58:15 BE:654023-2BP(7089)]
>>752
わはは!
描いて、全然ちゃうわ!と気が付いて投稿窓を閉じたつもりが送信されてたョ(呆)

780 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 07:03:36 ]
Perlの勉強するときに、実は
ものすごく脳力というか
エネルギー使うんじゃね?

漏れは30分か1時間もやると
ぐったりして集中力がなくなる。

読んでも頭に入らなくなる。

781 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 07:16:34 ]
>778
捨てハンでもトリッブでもいいから、なんか分かりやすい名前つけたらどうだ?
たぶん皆喜ぶぞ。NG指定するのに。

782 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 09:10:05 ]
じゃあアンケートとって
スレ住民の51%以上が賛成してたら
そうするよ。

783 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 10:28:58 ]
住人は>>781の一人だから賛成100%が可決。 俺は通りすがり。


784 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 14:27:20 ]
トリッブはねえよ



785 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 16:28:39 ]
>>782
50.4%が賛成だとアウトなのかが気になる

786 名前:デフォルトの名無しさん [2008/09/10(水) 19:11:24 ]
Perlで作ったツールをUSBメモリに入れて持ち運びたいんですが、
Perlの動作環境込みで持ち運ぶのは無理でしょうか?
テキストファイルの処理がメインでLinuxとActivePerlでの動作は確認しています。
しかしActivePerlがインストールされているWindowsマシンは少なく、
客先ではActivePerlのインストールも許されていない ので困っています。


787 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 19:19:03 ]
そのUSBに入れときゃいいやん

788 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 21:04:57 ]
>>786
「Perlで書いたツールを持ち歩きたいけれど、フルセットの実行環境は要らない」
PAR - Perl Archive Toolkit があなたのわがままを叶えてくれます。

789 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 21:13:34 ]
PAR の話は「perl.exe だけで足りるかもしれない」と伝えてからでいいんじゃないのか。

790 名前:788 mailto:sage [2008/09/10(水) 21:37:22 ]
>>789
ああ、もっともだね。先走りました。

791 名前:sage [2008/09/10(水) 22:17:56 ]
教えて下さい
windowsでperlを書いてるんですが
$dirName = "C:\\Documents and Settings\\Administrator\\My Documents\\新しいフォルダ";
@res = `"dir \"$dirName\""`;
を実行すると

ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。

となってしまします。どこがいけないでしょうか?

792 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 22:29:18 ]
(1) >>2をやっていない??
(2) ディレクトリ名にスペースがあるとエラーになる??

793 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 22:30:21 ]
>>2じゃなくて>>4だった。


(3)Perlでは日本語のフォルダ名を扱えない??

794 名前:sage mailto:sage [2008/09/10(水) 22:42:52 ]
>>792
説明が不足して申し訳ないです。。。
日本語のフォルダが大丈夫なのは確認済みです。
ディレクトリ名にスペースがあると上手くいかないんです。。。
>>4をやっても駄目でした。



795 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 22:58:31 ]
>>794
$dirName = '"C:\Documents and Settings\Administrator\My Documents\巨乳女子校生・公園で立ちバック"';
@res = `dir $dirName`;

スペースが入るときは "こう 囲んで 渡す" ってとこまでたどり着いてるのに惜しいな。
'これ' と "これ" の使い分けに慣れるといいよ。

796 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 23:24:02 ]
>>792,793
答えようとするのは良いけれど、
確信がないなら検証してからにしてくれ。
質問者が混乱するから。

797 名前:sage mailto:sage [2008/09/10(水) 23:56:44 ]
ご支援ありがとうございます。

>>795
教えてもらった方法で上手く出来ました。
ありがとうございます。

追加で申し訳ないのですが
>>791のコードでディレクトリ名を引数で渡したい場合はどうしたらよいでしょう?

やりたい事のイメージ:
%>perl test.pl "C:\Documents and Settings\Administrator\My Documents\貧乳女子高生・あばらで洗濯"

test.plの内容
$dirName = $ARGV[0];
@res = `dir "$dirName"`;

ちょっとまだ''と""の違いを正確に理解できていない様です。。。
'' => 文字をそのまま代入
"" => 変数を展開して代入
という認識なのですが他にも違いがあるのでしょうか?

798 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 00:43:41 ]
>>797
'"ああああああ いいいいい うううう"'
これでいけるんじゃない?知らんけどw

799 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 00:50:29 ]
>>797
$dirName = '"' . $ARGV[0] . '"'; # 消えても懲りずにくっつける
@res = `dir $dirName`;

たぶん期待の動作になると思うんですよね。
>perl test.pl "C:\Documents and Settings\Administrator\My Documents\着衣のふくらみ・貧乳編"

perldoc perlintro
perldoc perlop
辺りに書かれてますが '' と "" では \ がエスケープ文字なのか、文字 \ なのかというのも変わってきます。

800 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 01:20:03 ]
ところでバッククォートってsystemとおんなじだっけ??

801 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 02:38:32 ]
>>800
うーん、マニュアル読んだら分かることだしねえ。
どうしても誰かに聞きたきゃ、くだすれ方面だろうね。
くだすれでも引かれるレベルの質問ではあるけど。

802 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 04:43:45 ]
systemにリストで渡した方が引数を勝手に解釈されなくて済む

803 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 04:45:32 ]
RMってどういう意味?
ReMake?

804 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 04:49:05 ]
remember



805 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 05:01:59 ]
RozenMaiden

806 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 05:47:59 ]
perlで関数、サブルーチンに渡す引数ってどちらから評価されますか?

807 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 05:48:26 ]
こないだのScraperの問題、情報調べてきてやったんだけど。↓

ただ、どうしても日本語の検索キーワードが
文字化けしてしまう。いろいろ調べると、Google
Search History の RSS は UserAgent がブラウザ
ぽくないと charaset=utf-8 じゃなく、charset=ISO
-8859-1 を返してきやがる。

808 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 05:49:14 ]
nanntoka (A, B, C);

↑この場合、Aから実行なのか、Cから実行なのか、って意味?

809 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 05:50:11 ]
サブルーチンに渡す引数は、左からだな。
関数は知らない。

810 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 05:55:33 ]
>>808
そうですそうです

>>809
thx、ちなみにそのサブルーチンでは(ryってのはどっかに規定されてる物なの?

811 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 05:56:25 ]
おー なんだよー
こんな良いページがあるじゃんかよー
ちゃんと教えてくれよー
www.tkrb.jp/modules/summary1/index.php?id=7

812 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 06:38:21 ]
今発見したが、これはいったいなんなんだー
choco.lv3.net/test/read.cgi/program/1210740268/

813 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 11:04:17 ]
>>810
特に決まっていない

814 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 17:14:04 ]
簡易HTTPサーバを書くのが便利そうなモジュールを探してみたら、

POE::Component::Server::HTTP
POE::Component::Server::HTTPServer
POE::Component::Server::SimpleHTTP

があるようなのですが、どれを使うのが良いんでしょうか?



815 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 20:55:36 ]
用途による

816 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 00:26:49 ]
my $q = CGI->new(); # CGIオブジェクト
my $fh = $q->upload('filename'); # ファイルハンドル兼ファイル名
my $temp_path = $q->tmpFileName($fh); # アップロードされた #ファイルのフルパス
fileparse_set_fstype('MSDOS'); # WinIE用パス文字設定
my $filename = basename($fh); # アップロードされたファイルの # ファイル名
my $upload_path = "$upload_dir/$filename"; # 保存先フルパス
move ($temp_path, $upload_path) # File::Copy の moveメソッドで
or die $!; # 移動
close($fh); # おまじない

これを改造して、バカでかいファイルでもタイムアウトしないようにしたいのですが
ttp://www.bioinfo.jp/tips.html#background1
これをどこに組み込めばできますか

817 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 01:24:44 ]
下記のバージョンで、CPANからモジュールが
入れられるようになりました。感動した。
・XAMPP(1.6.2)
・Perl Add-on(5.8.8-2.2.4)
・Active Perl(5.8.8.817)


って書いてあるけど、もしかして、
PPMのほかに、CPANから直接入れる方法もあるの?
Activeperl。

818 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 05:43:51 ]
もしかして、5.10が動くレンタルサーバーってないの?
アメリカで10$のとこ、一個見つけたけど。

819 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 06:47:03 ]
jp.youtube.com/watch?v=fPwHSyCrZB8&feature=related

forループの条件部って
こうやって書いてもよかったんだ!

820 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 07:26:47 ]
うぜえ、消えろカス

821 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 07:42:01 ]
>>820
おまえがな

822 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 08:05:08 ]
do
{
do
{
do
{
do
{
print "hello\n";
}
}
}
}

やっぱ男だったら
doのネストだよな!

823 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 08:21:08 ]
{
{
{
{
print "hello\n";
}
}
}
}


よく考えたら、doがなくても
動くじゃないか!

824 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 08:26:20 ]
for $_(1..10){
print $_*2,"\n";
}

↑これだと動くんだけど、

for $_(1..10){
print "$_*2"."\n";
}

↑これだと動かない。
なんで???



825 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 08:57:51 ]
・さっきから鳥肌立ちまくり(の俺センスある)
・朝4時に何見てんだ俺……(でもそんな俺かっこいい)
・泣けた、疲れてるのかな……(でも疲れてる俺かっこいい)
・徹夜の上酔ってる俺が来ましたよ(こんな頑張ってる俺かっこいい)
・小3で全クリできたわ(さすが俺)
・89年生まれだけど知ってますw(俺って博識だから)
・ここからの展開が神(俺見たことあるし見所も知ってるんだぜ)
・これを笑えない香具師はセンスない(俺は笑えてるからセンスある)
・これ○○だと思うの俺だけ?(ちょっとずれてる俺かっこいいor「俺もそう思うよ」待ち)
・この時○○は××でした(そんなトリビアも知ってる俺すげー、敬語だし)
・は?表出ろやカス(返事なかった、俺の勝ち)
・まだこのシリーズやってたんだ、しょうがねえから見てやるか(俺が見てやってるんだからありがたく思えよ)
・神曲ktkr ←これより○○の方が神だろ(マイナー曲を挙げる俺って通だなー)
・shita cyan 禁断の海馬に手を加えて 驕れる無能な創造神にでも 成った心算なの(わざわざ歌詞職人やる俺えらいなー)

826 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 10:17:16 ]
sub abc(@%@%){
my $a=shift;
my $b=shift;
my $c =$a+$b;
print "$c\n";
}

abc(3,4);

↑これでエラーでないとか、
プロトライプの意味ないじゃん!

827 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 12:27:32 ]
>818
ヒントだけ。「板違い」

828 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 12:29:41 ]
サブルーチンの引数について勉強するといいと思うよ

829 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 12:31:31 ]
初心者なのですが質問させていただきます。 

push(@array,$item); 

これを[splice]を使って書くと、
splice(@array,@array,0,$item);

このようになるようですが、開始位置に書いてある[@array]は、「配列の要素数」と考えて
よろしいのでしょうか。それとも要素数じゃないのでしょうか。
「要素数」は添え字の値より1多い数なので、それを開始位置に書いてあるのがよくわからなくて
混乱しました。



830 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 12:40:12 ]
>>829
> 「要素数」は添え字の値より1多い数なので、それを開始位置に書いてあるのがよくわからなくて
> 混乱しました。


添え字の値より1多い数が開始位置じゃなかったら、なにが開始位置になるんだょ。


831 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 12:44:17 ]
OFFSET番目の要素の前に入るから要素数でいいんでない?

わかりにくいから例を書いておく。

@array=(a b c)のとき(要素数は3)、

splice(@array, 0, 0, "x")=(x,a,b,c)
splice(@array, 1, 0, "x")=(a,x,b,c)
splice(@array, 2, 0, "x")=(a,b,x,c)
splice(@array, 3, 0, "x")=(a,b,c,x)

832 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 13:06:08 ]
>>829
splice の二番目の引数は「読み飛ばす要素数」ではなく「開始対象となる要素の添え字」なので、
開始位置の @array は「要素数」ではなくて「最大の添え字よりも1つだけ大きい数」の意味。
昔は splice(@array,$#array+1,0,$item) で載っていた。

今は splice(@array,@array,0,$item) だけど、これは scalar @array がたまたま $#array+1 と等しい
場合に限ってうまく動く。
もちろん、何も特別なことをしなければ scalar @array と $#array+1 は等しいので、通常はうまく動く。

833 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 13:09:16 ]
>>826
perldoc perlsub

834 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 13:09:23 ]
>>830-831
理解できました。ありがとうございました。
>>831さんの例で言うと、添え字が[ 3 ]の要素が無いので、
なぜ開始位置の添え字の数値として指定できるのか…と混乱したのです。




835 名前:829 mailto:sage [2008/09/12(金) 13:14:08 ]
>>832 
詳しい説明ありがとうございました。
[$#array + 1]と同じ意味なのですね。非常によくわかりました。




836 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 14:08:22 ]
>>826
バックスラッシュを入れないと

837 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 14:21:41 ]
>>835
[]をつけるな。他の意味になる。

838 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 15:55:20 ]
threads::shared でしつもん。

perldoc.jp/docs/modules/threads-0.99/threads/shared.pod
に cond_signal の説明で、
「もしどのスレッドもその変数をcond_waitしていない場合、
シグナルは破棄される。常にシグナルの前にロックされるので、
他のスレッドがcond_wait()に入る前にシグナルを発するのを
回避することが(注意深くやれば)出来る。」
とあるのですが、この回避するための注意深いやり方ってどうすればいいのでしょう?


839 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 00:50:38 ]
最近気が付いた。
せっかく5.10を使って勉強しても
5.10が動く無料のレンタルサーバーが無い。

だから最初から5.8で勉強しないとだめ。
でもactivePerlのバージョンはたぶん
5.10でいいとおもう。5.10の機能を
使わなければいいだけだから。

840 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 04:44:39 ]
よく入門書とかで、「レファレンス、レファレンス」とかって
書いてあるのは、「ハード レファレンス」のことでいいの?

841 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 06:25:47 ]
このスレで良いか分からないのですけどお願いします。

CentOS5を導入したところなのですが、cpanコマンドを最初に立ち上げたとき、
画面にBundle::CPANを導入しろとか書いてありまして、その通りに
cpan> install Bundle::CPAN
cpan> reload cpan
とやったところ、

Missing right curly or square bracket at (eval 319) line 3441, at end of line
syntax error at (eval 319) line 3441, at EOF

といったエラーが出てしまいます。OSの再インストールもしてみたのですが再現します。
この状態で他のモジュールのインストールも出来ているようなのですが、何だか不安です。
このエラーの原因についてご存知のかたはいらっしゃいますでしょうか?
CPAN.pmのバージョンは1.9205です。


842 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 09:50:11 ]
なにこれ
こんなやり方知らなかったんだけど。

Perl Tutorial 76 - Formats: Low-Level Formatting - Formline
jp.youtube.com/watch?v=voHCfl4lYmE&NR=1

843 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 10:40:17 ]
do do do で die die die $!

844 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 11:23:18 ]
Anonymous FTPはなんで匿名FTPなのに、
なんでAnonymous Arrayは無名アレイなの?



845 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 11:51:34 ]
>>844

anonymous の意味には日本語で言うところの
匿名(本当は名前を持っているけど隠してる)ってのと
無名(そもそも名前がついてない)の両方がある。

それを考えないで匿名しか使ってないやつも多いけどね


846 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 13:50:56 ]
>>841
Linux板で質問したほうがいいと思われ

847 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 23:38:52 ]
土曜の夜だからって
書き込みがないのは
許さんぞ!!

848 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 08:44:05 ]
stateがいたく気に入ったのですが、
5.10が動くレンタルサーバーが無い以上、
使うのをあきらめざるをえません。
本当に断腸の思いです。

849 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 08:51:43 ]
レンタルサーバで動かすためのもんじゃないしなぁ・・・
5.8とかにすれば?

850 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 08:54:42 ]
my $r;

my $r=['a','b','c',];
print "@$r\n";


オレ様の初の無名アレイのサンプル。

$rに格納された、無名アレイのアドレスを、
@を先頭につけることによって、
「デ・リファレンス」することによって
配列の中味を表示している、

これであってますよね。

851 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 08:55:29 ]
>>849
まじで?
なんで?

852 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 09:34:52 ]
my $r=['a','b','c',];
print "$$r[1]\n";

無名配列の
デリファレンスの
配列番号指定の
表示法。

['a','b','c',]
という無名配列の先頭アドレスを
$rに格納し、$$rとアタマに$をつけることによって
デリファレンンスして配列の中味を取り出して、
[1]と添え字をつけることで指定の番号の要素を
取り出して表示している。

853 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 09:53:41 ]
なんで有名アレイは()パーレンで囲むのに、
無名アレイは[]スクエアブラケットで囲むのか?

なんで、有名ハッシュは()パーレンで囲むのに、
無名ハッシュは{}カーリーブラケットで囲むのか?

854 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 10:06:16 ]
my $r;
$r={
'a' => 'b',
};
print "$$r{'c'}\n";

無名ハッシュの例。
{'a' => 'b',};
の無名ハッシュのアドレスを$rに格納。
$$rと先頭に$をつけて{’c’}とキーを指定して
バリューのbを出力している。



855 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 10:07:28 ]
ねーねーもしかして
5.9.5
のほうが5.10よりも進んでいるの?

(安定性はきにしないとして)

856 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 10:09:26 ]
>>853
認識が根本的に間違ってる。
() <= 無名アレイもしくは無名ハッシュ(状況によっては単なるリスト)
[] <= 無名アレイへの「リファレンス」
{} <= 無名ハッシュへの「リファレンス」
@arr = ( 1,2,3 ) ; する事によって初めて有名アレイ(んな言いかたするっけ?)と言える。
あくまでも@arrが有名アレイであって、(1,2,3) は単なるリストだ。
[ 1,2,3 ] は、() を省略してる。 [ (1,2,3 ) ]
{ 1,2,3,4 } は、略

文章の流れから、[] を無名アレイと言ったりする人もいるだけの事






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<239KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef