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

【Perl】初心者コーナー Part19

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん03/01/11 13:52ID:???
初めに→「perl」その物のスレです。

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

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

あとは>>2-10にまかせた。
0982nobodyさん03/02/08 08:23ID:???
>>977
> open(FILE);
本当に問題ないの?

--- test.dat ---
ABC-001<>foo<>165<>65
ABC-002<>bar<>170<>70
ABC-003<>baz<>170<>65
ABC-004<>boo<>170<>65
---

my $file = './test.dat';
open FILE, '<' . $file or die;
my(@item, @person) = qw(i n h w);
chomp, @{$person[$. - 1]}{@item} = split /<>/ while <FILE>;
close FILE;

print map "@{$_}{@item}<BR>\n",
sort {
$b->{'h'} <=> $a->{'h'} ||
$a->{'w'} <=> $b->{'w'} ||
$a->{'i'} cmp $b->{'i'}
} @person;

参考。
http://www.google.co.jp/search?q=Schwartzian+Transform&hl=ja&lr=lang_ja
0983nobodyさん 03/02/08 14:06ID:???
>>982
どうだ、凄いだろ、俺のチンチン!っていう回答
熟女は喜ぶが処女は痛がる
0984nobodyさん03/02/08 16:30ID:???
>>982
Perlらしいコードですな。
0985本7 ◆HON7/awDa. 03/02/08 19:05ID:???
>>980
アドバイスありがとうございます
抜き取った文字列はどこに代入されるのでしょうか?
どしろうとで申し訳ないです
0986nobodyさん03/02/08 23:03ID:???
>>985
勝手に置換されるように書いてあるぞう。わからなくてもとりあえず読んでみよう。
0987 03/02/08 23:04ID:???
backslashが文字化けた。
$name =~ s/¥#(.+)/&trip($1)/eg;
#の後の(.+)がトリップ用数字に相当。
(.+)が$1に入って、
これにsub tripで処理したものを、
元のやつと置換する。
$name = "私の名前 #123456";
が
$name = "私の名前 aKsdjA4w";
みたくなる。
0988nobodyさん03/02/08 23:15ID:r91Y0UUN
open F,"+<$file";
while(<F>){print;}
seek F,0,0;
print F $temp;
close F;

としたとき、$tempのサイズが元のファイルサイズより小さいと、
$fileの元のデータが後半残ったまま上書きされてしまいました。
これはやはり上書きモードで開き直さなければ駄目でしょうか。
0989nobodyさん03/02/08 23:23ID:???
>>988
わかんないけど、seek後truncateしてみたら?
0990nobodyさん03/02/08 23:28ID:???
>>989
うお、できました!サンクスです。
0991本7 ◆HON7/awDa. 03/02/08 23:30ID:???
>>986
なれこれいじいったらトリップ入ってないときはそのままで出力できるようになりました。
あとは◆を名前欄に入れたら◇になるよう改造してみます
0992nobodyさん03/02/08 23:43ID:???
例えば、
http://www.yahoo.co.jp/
のソースを $st バイトから $to バイトまでのみ
ネットワーク通信によって取得するにはどうすればいいですか?

LWPとかSocketとか頑張って調べましたがわかりません
よろしくお願いします。
0993nobodyさん03/02/08 23:45ID:???
>>992
もうちょっとSocketとHTTPの勉強すればいいよ。
0994nobodyさん03/02/08 23:54ID:???
perlのmyって変数を続けて書くと最初のやつ以外はmy変数じゃなくなってしまうんですか?

例:
my  $i;    # ←はmy変数
my  $i,$j,$k; # ←は$iだけがmy変数(残りはglobal?)
my  ($i,$j,$k);# ←は全てmy変数

↑このような認識でいいのですか?
0995nobodyさん03/02/08 23:58ID:???
myは関数じゃないからそうなるんだよーん。
0996nobodyさん03/02/09 00:00ID:???
>>995
?
0997nobodyさん03/02/09 00:10ID:???
>>995
myは関数です。
ついでにいえばreturnも関数です。
0998nobodyさん03/02/09 00:15ID:???
このスレは終わらんのか?
0999nobodyさん03/02/09 00:17ID:zusUFu+4
次スレあるの?
1000nobodyさん03/02/09 00:17ID:zusUFu+4
ついでに1000

あ、誰も>>>999に答えられなくなっちゃうや。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。