トップページphp
1001コメント371KB

Perlコーディング初心者質問スレ Part 49

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/05/31(水) 04:32:28ID:???
Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

過去ログやお勧めサイトは >>2-10
0002nobodyさん2006/05/31(水) 04:33:02ID:???
関連スレ
CGI: Common Gateway Interface part 13
http://pc8.2ch.net/test/read.cgi/php/1126436361/

【Perl,CGI】参考書籍 第三版
http://pc8.2ch.net/test/read.cgi/php/1030209573/

【Perl】ファイルロック(排他処理)について語ろう
http://pc8.2ch.net/test/read.cgi/php/1024795138/

★負荷軽減対策委員会(Perl、PHP)★
http://pc8.2ch.net/test/read.cgi/php/1034645635/

Perlモジュールについて
http://pc8.2ch.net/test/read.cgi/php/997829243/

CGIに依存しないPerlの話題一般/Part2
http://pc8.2ch.net/test/read.cgi/php/1030548610/

★三 【 スクリプト改造工房 PART 9 】 ★三
http://pc8.2ch.net/test/read.cgi/php/1143834740/

【 スクリプト改造依頼スレ 】(丸投げ) part5
http://pc8.2ch.net/test/read.cgi/php/1141174205/
0003nobodyさん2006/05/31(水) 04:35:21ID:???
[過去ログ] 1 of 4

Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980 参照不能
 DAT: http://tako.2ch.net/perl/dat/957208980.dat
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087 参照不能
 DAT: http://tako.2ch.net/perl/dat/971817087.dat
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521 参照不能
 DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156 参照不能
 DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part5 http://pc.2ch.net/php/kako/988/988728069.html
Part6 http://pc.2ch.net/php/kako/996/996075607.html
Part7 http://pc.2ch.net/php/kako/1000/10002/1000267444.html
Part8 http://pc.2ch.net/php/kako/1003/10039/1003900311.html
Part9 http://pc.2ch.net/php/kako/1009/10095/1009549309.html
Part10 http://pc.2ch.net/php/kako/1014/10145/1014556702.html
0004nobodyさん2006/05/31(水) 04:36:16ID:???
[過去ログ] 2 of 4

Part11 http://pc.2ch.net/php/kako/1017/10172/1017201229.html
Part12 http://pc.2ch.net/php/kako/1019/10199/1019917048.html
Part13 http://pc.2ch.net/php/kako/1022/10227/1022731565.html
Part14 http://pc.2ch.net/php/kako/1026/10269/1026977659.html
Part15 http://pc.2ch.net/php/kako/1028/10288/1028816385.html
Part16 http://pc.2ch.net/php/kako/1032/10320/1032070299.html
part17 http://pc.2ch.net/php/kako/1034/10345/1034583844.html
part18 http://pc.2ch.net/php/kako/1037/10377/1037797479.html
part19 http://pc.2ch.net/php/kako/1042/10422/1042260745.html
part20 http://pc2.2ch.net/php/kako/1044/10447/1044717887.html (タイトルに19と誤記)
0005nobodyさん2006/05/31(水) 04:37:00ID:???
[過去ログ] 3 of 4

part21 http://pc2.2ch.net/php/kako/1047/10479/1047980851.html
part22 http://pc2.2ch.net/php/kako/1050/10503/1050369328.html
part23 http://pc2.2ch.net/php/kako/1053/10530/1053051519.html
part24 http://pc2.2ch.net/php/kako/1054/10549/1054992610.html
part25 http://pc2.2ch.net/php/kako/1056/10567/1056730690.html
part26 http://pc5.2ch.net/php/kako/1059/10590/1059043704.html
part27 http://pc5.2ch.net/php/kako/1060/10608/1060808783.html
part28 http://pc5.2ch.net/php/kako/1063/10635/1063562491.html
part29 http://pc5.2ch.net/php/kako/1066/10662/1066286828.html
part30 http://pc5.2ch.net/test/read.cgi/php/1069846177/
0006nobodyさん2006/05/31(水) 04:37:37ID:???
[過去ログ] 4 of 4
part31 http://pc5.2ch.net/test/read.cgi/php/1072896288/
part32 http://pc5.2ch.net/test/read.cgi/php/1075545279/ (タイトルに31と誤記)
part33 http://pc5.2ch.net/test/read.cgi/php/1078076768/
part34 http://pc5.2ch.net/test/read.cgi/php/1081148490/
part35 http://pc5.2ch.net/test/read.cgi/php/1085557731/
part36 http://pc5.2ch.net/test/read.cgi/php/1089779036/
part37 http://pc5.2ch.net/test/read.cgi/php/1093106507/
part38 http://pc5.2ch.net/test/read.cgi/php/1097158988/
part39 http://pc5.2ch.net/test/read.cgi/php/1101522903/
part40 http://pc5.2ch.net/test/read.cgi/php/1106816922/
0007nobodyさん2006/05/31(水) 04:38:17ID:???
[過去ログ] New!!
part41 http://pc8.2ch.net/test/read.cgi/php/1110383236/
part42 http://pc8.2ch.net/test/read.cgi/php/1116970588/
part43 http://pc8.2ch.net/test/read.cgi/php/1123777607/
part44 http://pc8.2ch.net/test/read.cgi/php/1129477637/
part45 http://pc8.2ch.net/test/read.cgi/php/1134049707/
part46 http://pc8.2ch.net/test/read.cgi/php/1137518266/
part47 http://pc8.2ch.net/test/read.cgi/php/1141195171/
part48 http://pc8.2ch.net/test/read.cgi/php/1146042050/ (前スレ)

part44-621氏による過去ログ倉庫
ttp://user.ftth100.com/mirrorhenkan/perl/
0008nobodyさんNGNG
ム板Perlスレより 1 of 2

[プログラミング自体の経験が無い奴はまずココを読め]
Perlプログラミング講座: http://www.site-cooler.com/kwl/perl/

[本]
リャマ: http://www.oreilly.co.jp/books/4873111269/
駱駝: http://www.oreilly.co.jp/books/4873110963/
Effective Perl: http://www.ascii.co.jp/books/detail/4-7561/4-7561-3057-7.html
クックブック: http://www.oreilly.co.jp/books/4873112028/

[オンラインマニュアル] (追加)
最新のドキュメント: http://search.cpan.org/~nwclark/perl-5.8.7/
perl5.8.xのドキュメント(一部): http://www.kt.rim.or.jp/~kbk/perl-5.8/
perl5.005_03 のドキュメント: http://www.kt.rim.or.jp/~kbk/perl5.005/
日本語ドキュメント検索: http://www.cpan.jp/search.cgi
perldoc.jp: http://www.perldoc.jp/
Perldoc.com: http://www.perldoc.com/
0009nobodyさんNGNG
ム板Perlスレより 2 of 2

[モジュール]
CPAN.com: http://search.cpan.org/
河馬屋二千年堂: http://homepage3.nifty.com/hippo2000/

[テクニック]
Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm
Perlのページ: http://homepage1.nifty.com/nomenclator/perl/
Perlの小技: http://homepage3.nifty.com/hippo2000/perltips/index.htm

[Perl5.8Unicodeメモ]
http://www.pure.ne.jp/~learner/program/Perl_unicode.html
http://www.namazu.org/~tsuchiya/perl/perl-5.8.html
http://www.lr.pi.titech.ac.jp/~abekawa/perl/perl_unicode.html
0010nobodyさん2006/05/31(水) 06:57:08ID:???
>>1-9
0011前スレ9922006/05/31(水) 07:10:12ID:???
前スレ998
ありがとうございます。euc-jpにエンコードすればいいことがわかりました。
jcode.plを使い&jcode::convert(\$str, "euc");のようにしてエンコードしたところ正しく表示されました。
本当にありがとうございます。情報が小出しで申し訳ありませんでした。
0012nobodyさん2006/05/31(水) 08:08:01ID:???
前スレ・・・寝てる間に変な流れで終わってゆ(´;ω;`)
0013nobodyさん2006/05/31(水) 10:34:09ID:upa0fhXd
とりあえずおっぱいうp
0014nobodyさん2006/05/31(水) 12:55:08ID:???
>>13
> とりあえずおっぱいうp
http://search.cpan.org/perldoc?Acme::Oppai
0015nobodyさん2006/05/31(水) 13:59:38ID:???
恥さらしだからこんなことするなよ。アホ。
0016nobodyさん2006/05/31(水) 14:06:05ID:???
こんなのあったのかwww
0017nobodyさん2006/05/31(水) 17:57:14ID:???
$a = "a,b,c,d,";
という1つの文字列を元に
@b=(a,b,c,d,);
のような配列に代入する方法はないでしょうか?

0018nobodyさん2006/05/31(水) 18:06:09ID:???
split
0019nobodyさん2006/05/31(水) 18:07:54ID:???
初心者とはいえ少しは勉強しようよ・・・
0020nobodyさん2006/05/31(水) 18:47:06ID:???
でも、クックブックみたいな逆引き系マニュアル持ってないと
まず目的ありきの時に、どの関数・どのモジュールを使えばいいかわからないよね

オライリー有用だけど高いよ('A`) 貢ぎましたけど・・・
0021nobodyさん2006/05/31(水) 18:53:43ID:???
つぐぐる
0022nobodyさん2006/05/31(水) 18:57:04ID:???
>>21
アーッ!!          いや   ほら    クックブック  あると 便利よ・・・  うん
0023nobodyさん2006/05/31(水) 19:08:04ID:qTr6Ebfx
HTTPレスポンスヘッダに206を指定しファイルをCGI経由でDL
させようとすると、500エラーが出てしまいます。
具体的には下記のようにしております。


print "HTTP/1.1 206 Partial Content\n";
print "Last-Modified: Wed, 24 May 2006 18:41:30 GMT\n";
print "Pragma: no-cache\n";
print "Accept-Ranges: bytes\n";

my $range = $ENV{'HTTP_RANGE'};
if($range =~ m/^bytes=(\d+)\-(\d+)$/){
my $offset = $1;
my $end = $2;
my $len = $end - $offset + 1;

print "Content-Range: bytes $offset-$end/$len\n";

$filesize = $len;
}

print "Content-Length: " . $filesize . "\n";
print "Content-Type: $content_type\n\n";

print while(<IMG>);
close(IMG);


エラー内容は「Bad header=HTTP/1.1 206 Partial Content」ですので
これを外せばエラーは出ないのですが、206を返す手段があれば
ご教示いただきたく思っております。
宜しくお願いいたします。
0024nobodyさん2006/05/31(水) 19:29:32ID:???
>>23
Status ヘッダ
http://www.nilab.info/docs/cgi/draft-coar-cgi-v11-03-clean-jp.html#7.2.1.3

以後 CGI の話は以下のスレへ。
CGI: Common Gateway Interface part 13
http://pc8.2ch.net/test/read.cgi/php/1126436361/
0025nobodyさん2006/05/31(水) 19:45:57ID:???
>>24
すみません。
誘導先で質問させていただきました。有難うございました。
0026nobodyさん2006/05/31(水) 20:06:46ID:???
投稿されたテキスト本文の最後に、無駄な空白と改行が入っている
場合、これを取り除いて別の著名などを挿入したいのですが
取り除くにはどうしたらいいか教えてください
0027nobodyさん2006/05/31(水) 20:18:04ID:???
>>26
$text =~ s/\s+$/$chomei/s;
別の著名ってなんだ?
0028nobodyさん2006/05/31(水) 20:25:57ID:???
>>27
有り難うございます
日付、新規なのか更新(修正)なのかです
本文の最後に付けると見栄えが良いので
0029nobodyさん2006/05/31(水) 20:29:54ID:???
>>28
本文の最後に空白がない場合にも著名を挿入したい場合は、
$text =~ s/\s*$/$chomei/s;
な。それから、著名でなくて署名じゃないのか?
0030nobodyさん2006/05/31(水) 20:31:16ID:???
>>20
クックブックの方が便利なの?
これ↓を買おうと思っているんだけど。。

Perl/CGI逆引き大全 600の極意
http://www.amazon.co.jp/gp/product/4798010774/
0031nobodyさん2006/05/31(水) 20:31:30ID:???
すみません
0032nobodyさん2006/05/31(水) 21:14:12ID:???
>>17
@b = eval $a;
で万全。
0033nobodyさんNGNG
>>30
その本持ってる。旧版だけど。
0034nobodyさん2006/05/31(水) 21:29:39ID:???
>>33
ちょーだい
0035nobodyさん2006/05/31(水) 21:58:58ID:???
俺は技術評論社の perl リファレンス使ってる

おらいりーは有用だけど余計な文が多くてあまり馴染めんかった
0036nobodyさんNGNG
>>35
それも持ってるわ
0037nobodyさん2006/05/31(水) 23:33:41ID:???
書式だけ確認したいときはラクダはちょっと邪魔かも
0038nobodyさん2006/05/31(水) 23:36:50ID:???
リファレンスは perldoc 一本に絞った。
ラクダ本は、必要な所だけスキャンして処分(ボロボロだったので)。
現在うちにあるPerlの本はAdvanced Perl のみ…。
0039nobodyさん2006/05/31(水) 23:39:11ID:???
紙で見る利便さは捨てない方がいい
0040nobodyさん2006/06/01(木) 00:00:48ID:???
書式だけなら手書きでも充分!(`・ω・´)
0041nobodyさん2006/06/01(木) 00:14:11ID:???
わろすwww
0042172006/06/01(木) 11:55:18ID:???
>>32
$aが
$a = "あいうえお,かきくけこ,さしすせそ";
みたいな時は、無理でしょうか?
0043nobodyさん2006/06/01(木) 12:09:27ID:???
>>42
>>18を無視するな…>>32はネタだ。
@splited = split /,/, $csv
まあ要するに>>19。split(とeval)を提示された時点で検索していれば、
splitが求めるものだとすぐ分かるはずなのにそれを怠っているとしか思えない。
0044nobodyさん2006/06/01(木) 14:17:44ID:???
しょうがないよ>>17超初心者なんだから
0045nobodyさん2006/06/01(木) 18:57:05ID:???
めんどくさいので答えちゃいますよ〜
>17=42
my @array = split(/,/, $string);

split → 文字列(第2引数)を区切り子(第1引数)で分断し、その配列を返します。
my → 変数の局所化
/,/ → 正規表現でカンマ区切りを指定
$string → ここではカンマで区切られた文字列が入ってると仮定
@array → split関数によって返された配列が入る

以上

スクリプトを組む上で必ず使うような関数は、書式を完全に覚えろとは言いません。
せめてやりたいことから関数名を連想(要は逆引き)できるようにしませう。
0046nobodyさん2006/06/01(木) 19:05:28ID:???
>>45
あんた優しすぎw
0047nobodyさん2006/06/01(木) 19:24:16ID:???
>>45
こ、これが大人の余裕ってやつなのか…?
0048nobodyさんNGNG
ここのリンク貼るだけでええやん
http://perl.misty.ne.jp/function02/split.html
0049nobodyさん2006/06/01(木) 19:41:05ID:???
.htmlで
<!--start-->
cgiからの書込み
<!--end-->
って出来るのを最近知ったんですがどういう風に書くんですか?
ネットで探してもこのスクリプトが載ってないのだが・・・。
0050nobodyさん2006/06/01(木) 19:45:57ID:???
SSI exec でぐぐれ?
0051nobodyさん2006/06/01(木) 19:48:35ID:???
SSIは関係無い

テンプレートとなるHTMLを1行ずつ読み込む
<!--start-->が現れたら処理開始
<!--end-->が現れたら処理終了

そんなことよりも(すごい巨大なデータでなければ)
<!--INSERT-->とかを置換した方がスマートかな
0052nobodyさんNGNG
意味不明情報小出な質問大杉
0053nobodyさん2006/06/01(木) 19:56:54ID:???
質問が意味分からないのに良く答えるなぁ
0054nobodyさん2006/06/01(木) 19:57:40ID:???
>>51
む?
「 .htmlで 」 って拡張子でかいてるから、HTMLファイルにアクセスしてやりたいってことじゃないの?
エスパー失敗?
0055nobodyさん2006/06/01(木) 20:09:17ID:???
テンプレートファイルを用意して、それをCGIでごにょごにょしてから表示する方法
を求めてると判断した次第

>54
SSIだったら<!--#exec 〜-->って表記をするはずだし、startとendとペアで記述するもんじゃないから
SSIは違うんじゃね?と思った

よく見たらいきなりスバっと書きすぎてたかな
気分を害してたらゴメ
0056nobodyさん2006/06/01(木) 20:51:11ID:???
本人だが>>55の言うとおりです。
そんな感じのを教えてほしいわけです。
宜しくお願いします。
0057nobodyさん2006/06/01(木) 20:55:56ID:???
HTML::Template でも使えばええがな('A`)
0058nobodyさん2006/06/01(木) 20:57:12ID:???
>>56
多くの住人もエスパーさんも「そんな感じの」ではわからんのです。
>>55の冒頭が「やりたいこと」だったら、>>51とか。

「だから>>51のやりかたを…」とか言われると果てしなく続くのです。
0059nobodyさん2006/06/01(木) 21:03:32ID:???
>>58
その辺の事が分からないので詳しく教えてほしいのです。
0060nobodyさん2006/06/01(木) 21:04:54ID:???
>56
>57でもOKだけど
一応考え方の参考って事で・・・(略記だけど)
my %template;
$template{##TITLE##}="あ〜";
$template{##BODY##}="う〜";
open(FH, "テンプレートHTML"); read(FH, $templatehtml, (-s FH)); close(FH);
foreach(keys(%template)){
 $templatehtml=~s/$_/$template{$_}/g;
}
print $templatehtml;

HTML には挿入したい場所に##TITLE##とかを書いておけばOKです
0061nobodyさんNGNG
放置すればいいのに
0062nobodyさん2006/06/01(木) 21:09:47ID:???
60だけど、これ以上は書かないつもり
これ以上書くならテンプレート形式を使ってるスクリプトを眺めろとしか言えないし
0063nobodyさん2006/06/01(木) 21:10:01ID:???
be付けてる人って、いつも煽ってばっかりだよね。
0064nobodyさん2006/06/01(木) 21:10:34ID:???
>>63
ニュルーしてあげるのもやさしさですw
0065nobodyさんNGNG
うわぁ…
0066nobodyさん2006/06/01(木) 21:42:09ID:???
ではこのような事をなんと言うのかお教え下さい。
0067nobodyさん2006/06/01(木) 21:50:08ID:???
>66
散々単語が出てきてるのに・・・おまえもう来るなカス
0068nobodyさん2006/06/02(金) 00:14:24ID:???
テキストに[A-z]を書き出すにはどうすればいいですか?
0069nobodyさんNGNG
print a..z;

とか
0070nobodyさん2006/06/02(金) 00:43:27ID:???
>>69
できましたありがとうございます

[Aa][Aa]などのような場合はどうすればよいでしょうか?
0071nobodyさん2006/06/02(金) 00:45:57ID:???
日本語でおk
0072nobodyさん2006/06/02(金) 01:30:15ID:???
ここでESPを発揮!

print lc().uc() for (a..z);
0073nobodyさん2006/06/02(金) 01:31:18ID:???
>>72
いやいや敢えてこんな感じで。

my $m = 25;
$_ -= $m--, print chr $_ - 32, chr and --$m for reverse 97..122;
0074nobodyさん2006/06/02(金) 01:43:41ID:???
なかなかやるな!
0075nobodyさん2006/06/02(金) 02:16:24ID:???
>>72>>73
ありがとうございました

それから、マイドキュメントにあるホームページアップ用のhtmlファイルのjpgを全てpngにしたいんですが
どのようにすればよいですか?
いちおうこんな感じにやってみたんですがウンともスンともいいませんでした

open IN,"./1.html";
while ( $word = <IN> ){ $words .= $word;}
close IN;
open ADD,">./1.html";
$words =~ s/jpg/png/g;
print ADD "$words";
close ADD;

どこがミスってますか?
0076nobodyさんNGNG
拡張子変えるだけでいいの?
0077nobodyさん2006/06/02(金) 02:37:17ID:???
>>76
はい!
htmlのソースの中にあるjpgをpngに変えるのが目的です
0078nobodyさん2006/06/02(金) 03:12:56ID:???
じゃ今度は僕がテレパス化に挑戦。

>>77
全部の open と close の後に or die $! って書いてみよう。

open IN, "./1.html" or die $!;
...中略...
close IN or die $!;

というふうにね。
困った時に時々原因を教えてくれるおまじないだよ。
これからは必ず付けるようにしてね♪
0079nobodyさん2006/06/02(金) 03:29:31ID:???
>>78
うーん、、、やはりなにも起こりません。
0080nobodyさん2006/06/02(金) 03:49:36ID:???
問題を細かくする事がデバッグのコツ。

まず、置換・書き込み部分はコメントアウトして、読み込んだ後に
$words を print して正常に読み込めているか確かめる。

正常に読み込めているのを確認したら、置換部分を有効にして、置換した後に
$words を print して本当に置換されているか確かめる。

正常に置換されていたら、書き込み部分を有効にして、書き込みファイル名を変えてみる。
・書き込み先のパスをフルパスで指定してみて、正常に書き込めるか確かめる
・存在しないファイル名を指定して、新規作成してみる
・既存のファイル名を指定して、上書きしてみる

これだけやれば原因がわかるはず。
0081792006/06/02(金) 04:02:27ID:???
>>80
とりあえずこんな感じでテストしてみました
デスクトップのaフォルダの中に1.htmlとtest.pl
# test.plの中身
$name = "./1.html";
open OUT,">>$name";
print OUT "test\n";
close OUT;

これでコマンドプロンプトから実行してもだめでした
0082nobodyさん2006/06/02(金) 04:43:31ID:???
一応聞くけど、hello world は動くの?
でなけりゃ一回ファイル名変えてやってみ。
たまに自分のアホなスクリプト実行したせいでファイルがロックされてる場合がある。
ソース自体は普通みたいだから、絶対なんかヘンなことしてるしw
0083nobodyさん2006/06/02(金) 04:59:21ID:???
openのあとエラートラップしてみたら?
open errorだったりして…
0084nobodyさん2006/06/02(金) 05:32:21ID:???
関連付けされてねぇんじゃ?
0085nobodyさん2006/06/02(金) 09:47:40ID:???
$a1 ="あ";
$a2 ="い";
$a3 ="う";

$a50="ん";

このスカラー変数を、連結して表示したい場合、
print $a1.$a2.$a3.〜$a50;

perlでは、このような表記の仕方しかないでしょうか?
0086nobodyさん2006/06/02(金) 09:55:34ID:???
$sname='a';
while(1..50){
 $tmpsname = $sname . $_;
 $val = \${$tmpsname};
 $renketu .= $val;
}

すげぇテキトーw
つかね、配列使ってください
0087nobodyさん2006/06/02(金) 10:15:26ID:???
最近みんな優しいなあ・・・
0088nobodyさん2006/06/02(金) 10:54:24ID:???
my @Hiragana = qw(
  あ い う え お
  か き く け こ
....
  わ を ん
);
local $, = "";
print @hiragana;
qwはタブも改行もスペース扱いしてくれるぞ
0089nobodyさん2006/06/02(金) 10:55:50ID:???
あ、
print @Hiragana;
ちなみに$a50="ん";にはならんぞ。50音て50個じゃないから
0090nobodyさん2006/06/02(金) 10:59:55ID:???
>>86は間違い
リファレンスを連結している
my $sname='a';
print join '', map { ${"$sname.$_"} } (1..50);

動かしてないがこれでよくね?
0091nobodyさん2006/06/02(金) 11:22:34ID:???
最近 use strict してたから、そういう記法もあったの忘れてたな・・・。

とりあえずグローバル変数やたら定義すると面倒で適わんね。
0092nobodyさん2006/06/02(金) 11:25:06ID:???
今携帯だから確認出来ないけど、\ は要りませんでしたか。


… 実は map の使い方というか使う意義がわかんねw
あとでリファレンス立ち読みしてみるかにゃ
0093nobodyさん2006/06/02(金) 11:35:03ID:???
日本語が不自由な質問に携帯から答えたおまいは優しいな・・・
0094nobodyさん2006/06/02(金) 13:54:21ID:???
この優しさが怖い
0095nobodyさん2006/06/02(金) 14:26:56ID:???
my @hiragana = qw(あ い う え お か き く け こ
さ し す せ そ た ち つ て と な に ぬ ね の
は ひ ふ へ ほ ま み む め も や ゆ よ
ら り る れ ろ わ を ん);
print map{${$_->[0]} = $_->[1]}map{['a'.$_ ,$hiragana[$_-1]]}(1..46);

なんか質問の主旨とは違うよーな気もするが
0096nobodyさん2006/06/02(金) 15:05:28ID:???
なんでデリファレンスやねん

0097nobodyさん2006/06/02(金) 15:25:35ID:???
>90
ん〜、エラーっすねぇ
Can't use string ("a.1") as a SCALAR ref while "strict refs" in use at /test.cgi line 16.

${"a$_"} にしたら
Can't use string ("a1") as a SCALAR〜
で同じエラー

俺にゃ難しい宿題だw
0098nobodyさん2006/06/02(金) 16:09:13ID:lBhNFSRP
$s = "aあいうえおかきくけこ";
${"@{[substr($s,0,1]}$_"}=substr($s,$_*2-1,2)for(1..length($s)/2); #ここまでセットアップ

print join '', map ${"a$_"}, (1..10); # 好きな数だけloopすれば?
0099nobodyさん2006/06/02(金) 16:18:21ID:???
>>85
print eval(join('.', map{ '$a'.$_ } (1..50)));
0100nobodyさんNGNG
Perl臭ぇーッ!!
0101nobodyさん2006/06/02(金) 17:16:07ID:???
>>97
当然 no strict 'refs';の前提だが。
シンボリックリファレンス使ってるだろ?
■ このスレッドは過去ログ倉庫に格納されています