【Perl 】初心者コーナーPart6
■ このスレッドは過去ログ倉庫に格納されています
0001undefさん
2001/07/26(木) 00:40ID:???尋ねる前に同じ質問がないかこのスレや旧スレ、及び>>2のリンクを一通り見てみよう。
案外答えはもう書かれているかもしれない。
0002undefさん
2001/07/26(木) 00:40ID:???[関連スレッド]
Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156
Part5 http://corn.2ch.net/test/read.cgi?bbs=php&key=988728069
【Perl,CGI】参考書籍 http://tako.2ch.net/test/read.cgi?bbs=perl&key=970166109
[総合]
□Perl Com: http://www.perl.com/pub/
□CPAN.com: http://search.cpan.org/
□ActivePerl: http://www.activestate.com/
[お薦め]
・Perl Recipes: http://www.effectiveperl.com/recipes/
・Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm
・Randal's WebTechniques columns: http://www.stonehenge.com/merlyn/WebTechniques/
・Perlの部屋: http://www.cc.rim.or.jp/~midorin/mad-p/perl/index.html
[Module]
・Perl Module Reference: http://www.bekknet.ad.jp/~bero/docj/module/
・PPMPackages: http://www.activestate.com/PPMPackages/
・河馬屋二千年堂's Page: http://member.nifty.ne.jp/hippo2000/index.htm
[Document&Tutorial]
・Perl News: http://www.news.perl.org/
・Perl Monks: http://www.perlmonks.org/
・PerlMonth - Online Perl Magazine - : http://www.perlmonth.com/index.html
・use Perl All The Perl: http://use.perl.org/
・Learn Perl - Perl Education: http://www.devdaily.com/perl/edu/index.shtml
・Perldoc.com: http://www.perldoc.com/
・Using Perl5 in Web: http://docs.rinet.ru/Using_Perl5_in_Web/
・Rex Swain's Home Page: http://www.rexswain.com/
・Robert's Perl Tutorial: http://www.netcat.co.uk/rob/perl/win32perltut.html
・Perl Tuts: http://savage.net.au/Perl-tutorials.html
・Beginning Perl Tutorials: http://www.pageresource.com/cgirec/index2.htm
・jcode.pl の私的な解説書: http://www.mikeneko.ne.jp/~lab/kcode/jcode.html
・Perl for Newbie: http://www.harukaze.net/~mishima/perl/index.html
・Logical Choice Software, Home Page: http://www.logsoft.com/perltips/
・Perlfect Solutions: http://perlfect.com/
・The Perl Archive : http://www.perlarchive.com/
0003ちょこら
2001/07/26(木) 00:44ID:IoXCn0Pgごくろうさまです。
0004名無しさん@お腹いっぱい。
2001/07/26(木) 00:48ID:???0005名無しさん@お腹いっぱい。
2001/07/26(木) 00:56ID:???ご苦労様。
ところで、前スレの956さん
TAB区切りとか言いながら$dataは半角スペース区切りになってるよ。
などと無駄なツッコミを入れてみたり。
0006名無しさん@お腹いっぱい。
2001/07/26(木) 04:33ID:34foWq2Y「〜が見つかりません」となってしまう。
これって、ダメなの?
$htmlfile = "http://〜〜〜/temp.html"; # 他鯖のアドレス
if(!open(HTML,"$htmlfile")){
print "<html>$htmlfileが見つかりません</html>\n";
exit(0);
}
0007名無しさん@お腹いっぱい。
2001/07/26(木) 04:39ID:???ダメに決まってる。
つーか初級ネット逝け。もう戻って来るな。
0008名無しさん@お腹いっぱい。
2001/07/26(木) 06:47ID:JG2uz2mwこの@hairetsuの中の要素を全て変数に入れたいのですが
方法が解らないです。
$yousosuu = @hairetsu
ってして不明な要素数を得たのですが、そこからが解らないです。
初心者以前の問題でしょうか。
00098
2001/07/26(木) 06:53ID:JG2uz2mw@hairetsuの中身が、、1<>2<>3<>4<>5<>6<>7<>8<>9<>10
ってなっている時に
$youso1 = 1
$youso2 = 2
と言う風に代入したいのです、数が不明だとどうすれば良いのかが
解らないのです。
0010名無しさん@お腹いっぱい。
2001/07/26(木) 07:01ID:???my @array = qw(aa bb cc);
my $str = '';
map { $str .= $_ } @array;
print $str; # aabbcc
こういうことじゃなくて?
0011名無しさん@お腹いっぱい。
2001/07/26(木) 07:10ID:???別に取り出さないで$hairetsu[0]って使うのではダメなの?
0012ちょこら
2001/07/26(木) 07:16ID:pAced2Jkが前提なら
for($i=0;$i<$yousosuu;$i++){
$varname = 'youso' . $i;
$$varname = $hairetsu[$i]
}
でどうだ。まあこの例だと$youso0から始まるがいやならいじってくれ。
0013初心者名無しさん
2001/07/26(木) 08:07ID:D05Jcn/wこれでも……たぶん
foreach (@hairetsu) {
$num++;
${youso.$num} = $_;
}
00148
2001/07/26(木) 08:25ID:JG2uz2mwちょこらさんと初心者名無しさんの方法で上手く行きました。
未知の数値の扱い方がわからなかったんです。
と言うよりfor文の使い方が解って無いのか (汗)
皆さんカコイイです! ありがとうございました あげっ!! (^ ^ )
0016名無しさん@お腹いっぱい。
2001/07/26(木) 10:16ID:fwGjG1C6実行時、鯖にどれくらい負担がかかるのかチェックしたく思ってます。
なにかいい方法ありますか?
0017名無しさん@お腹いっぱい。
2001/07/26(木) 10:36ID:???使い方は
perldoc Benchmark
負荷チェックはローカルで。
0018ほげ
2001/07/26(木) 11:33ID:???で、代入したあとどうやって使うの? >>11も書いてるけど、
また $i に数字をいれて print ${youso.$i} ってやるだけなら、
配列のまま $hairetsu[$i] を使う方が分かりやすいと思うよ。
0019名無しさん@お腹いっぱい。
2001/07/26(木) 12:19ID:OUMdOt/2という構成のログがあって、それをハッシュ%INに入れたいんですが、
qw($IN{'TIME'} $IN{'TITLE'} $IN{'NAME'} $IN{'COMMENT'}) = split /<>/;
今こんな感じにやってるんですが、
もっと上手い方法はありませんでしょうか?
0021名無しさん@お腹いっぱい。
2001/07/26(木) 12:31ID:OUMdOt/2はーなるほど、@INを使うのか…
ありがとうございました!
00228
2001/07/26(木) 12:34ID:???今ずっと過去ログを読んでいたんですが、偶然にも前スレの952さん
と同じ目的のような気がするです。
.csvの中身を並べ替えて区切り文字を","から"<>"に変更したいのです。
それで、今度は${youso.$i}(中身はa,b,c,d,eとかの5つの要素が入ってる)
をもう一回配列に入れようとして芯でるです (^ ^;)
基本的に考え方が間違えてるのかなぁ、、、、
今リンクを一杯開けて勉強中 (^ ^ )
00238
2001/07/26(木) 12:37ID:???もっと精進して出直して来るっす。 失礼します
0024名無しさん@お腹いっぱい。
2001/07/26(木) 13:11ID:20lkItDU文字コードがshift_jisかどうかを判断するにはどうしたらいいですか?
0025_gunzip@出掛けますが
2001/07/26(木) 13:26ID:???>20 のは、ハッシュのスライスです。スライスについては、
http://www.effectiveperl.com/EP.02.pdf
のItem2辺りを参照するといいと思います。
>>22-23
無理して言葉で表現しようとせずに、元のデータと、自分が期待する結果を両方示して、
「このような事を実現するには、どんなデータ構造にして、どのように処理すべきか」
って聞いた方がいいと思う。
例えば、(こーゆー事じゃないかと勝手に想像)
「
Aoki,54,Nagano
Terui,95,Hokkaido
Maeda,23,Osaka
(続く)
というデータがあり、これを二番目の項目の数値で昇順に並び替え、","を <> に変換して
Maeda<>23<>Osaka
Aoki<>54<>Nagano
Terui<>95<>Hokkaido
のように書き出したいが、この場合どんなデータ構造でデータを格納し、
どんな手法でそれらをソートすればいいのか?
環境: 自分でコンパイルしたPerl5.7.2+VineLinux
」
・・・のような感じ。(ん....なんか変だが)
00278
2001/07/26(木) 14:27ID:???ハイっ、その通りです。全部聞いちゃうと凄い量になるのかなと
思ってしまって... (^ ^;)
1,2,3,4,5
aoki,M,1985_01_08,220,157
egawa,F,1984_09_11,170,142
saitou,M,1983_11_22,247,167
yokomori,M,1986_07_15,195,150
.
. 続く(行数は分からないです)
と言うファイルの内容を...
1<>2<>3<>4
aoki<>M<>Highscore---220<>Average---157
egawa<>F<>Highscore---170<>Average---142
saitou<>M<>Highscore---247<>Average---167
yokomori<>M<>Highscore---195<>Average---150
.
. 続く...
こんな風に並べ替えて少しの文字列を加えたいのです。
それで、Vine2.15+perl5.005_03な環境でWEBのフォームにtextを
貼り付けて、変換結果を再びtextareaに表示しようとしたのですが
受け取りと出力は出来たものの、肝心の処理が上手くいかない
のです。
002821
2001/07/26(木) 16:45ID:rFKr7cVw今日偶然にもEffectivePerl買ってきたので合わせて勉強したいと思います。
スライス慣れれば便利そうですね。
0029名無しさん@お腹いっぱい。
2001/07/26(木) 18:21ID:???ベタに処理しただけだが、参考にでも。
open FILE, "< $file" or die;
my $cut = <FILE>;
print join('<>', 1,2,3,4)."\n";
while (<FILE>) {
chomp;
my @data = split /,/;
$data[3] = 'Highscore---' . $data[3];
$data[4] = 'Average---' . $data[4];
print join('<>', $data[0],$data[1],$data[3],$data[4])."\n";
}
close FILE;
0030undefさん
2001/07/26(木) 21:13ID:20lkItDUテキストファイルのリストをソートしてはき出したいのですが、
いい方法が思いつきません。
とりあえず、私が考えた物、、
ファイルが大きくなると問題あるです。。。
open(IN,"list.txt") || die;
my @list = <IN>;
close IN;
open(OUT,"sort_list.txt") || die;
foreach(sort @list){
print OUT;
}
close OUT;
003130
2001/07/26(木) 21:15ID:???open(IN,"list.txt") || die;
my @list = <IN>;
close IN;
open(OUT,">sort_list.txt") || die;
foreach(sort @list){
print OUT;
}
close OUT;
0032名無しさん@お腹いっぱい。
2001/07/26(木) 23:30ID:???俺なら
my @list = sort <IN>;
と読み込むな(ファイルがメモリに収まるくらい小さいのであれば)
もしくは、書き込むときに
print OUT sort @list;
とかね(まぁ、やり方は何通りもあるから)。
ちなみにファイルがでかい場合は、DB使うからそもそもこんな問題考えない(藁
0033名無しさん@お腹いっぱい。
2001/07/27(金) 01:00ID:???どこらへんでネタだと思ったのかわからないけど、
ただ短くするだけなら、print OUT sort <IN>; だろ。
何の解決にもならんけど。
さいごの行については同意。
>>31
http://www.amazon.co.jp/exec/obidos/ASIN/4894712369
前にちらっと見たこの本にそんなような内容が書いてあった気がする。Cだけど。
003432
2001/07/27(金) 06:15ID:???↑書き方はいろいろできるけど、結局この辺の理由で(藁
あと、最近夏休みに入ったせいか、宿題っぽい質問が多いからね
>>31へ蛇足
|| → or,foreach → forに慣れた方が良いと思われ
0035名無しさん@お腹いっぱい。
2001/07/27(金) 09:17ID:Q5S7zu8k0036名無しさん@お腹いっぱい。
2001/07/27(金) 09:30ID:???0037名無しさん@お腹いっぱい。
2001/07/27(金) 09:48ID:PIHalO2gスクリプト言語は理論的に空行はつめたほうが
実行が速くなるのでしょうか。
0038名無しさん@お腹いっぱい。
2001/07/27(金) 09:55ID:???0039名無しさん@お腹いっぱい。
2001/07/27(金) 10:00ID:???0040JAPU
2001/07/27(金) 10:35ID:Q5S7zu8k004134
2001/07/27(金) 10:40ID:???forの方がforeachより字数が少ない(藁
0042名無しさん@お腹いっぱい。
2001/07/27(金) 11:13ID:???0043名無しさん@お腹いっぱい。
2001/07/27(金) 16:13ID:???http://dream.lib.net/room/cgi/e_acsdeny.html
の二つを、1つの掲示板に使う場合、どういう風に書けばいいでしょうか?
何回やっても、どちらか一方しか作動しないので質問しました。
0044名無しさん@お腹いっぱい。
2001/07/27(金) 16:40ID:???片方が弾けば次が動作するわけねーじゃん。
つか2つ使う意味あんの?
■ このスレッドは過去ログ倉庫に格納されています