掲示板の名前表示にトリップ機能を追加しようとおもいます。 トリップ変換のアルゴリズムはその辺のトリップチェッカーを拾ったんで途中に割り込ませようとおもいます。 で、すでにできあがってる2chスクリプトなのですこし強引ですが名前をdatファイルに保存する際に 投稿の際に名前入力してそれをdatファイルに保存してるのがread.cgiだと決めつけて考えてます。 空の変数$karinameを用意してそこに正規の名前変数$nameを代入して料理しよかと思いました。 まず最初に良く分らないのが文字列変数$nameに"#"が入ってる時だけ"#"以降の文字列抜き出しをするに はどいう形の分がいいんでしょうか? さらに抜き出せたとしてそれを変換ルーチンで料理。もう一つ用意した$ryouriに代入 $name=$ryouri で元にかえしてやってその後は通常の流れに続くという方法でよいでしょうか? 雑な質問のしかたで申し訳ないです。よろしくお願いします
>>977 こんなデータを作ってみました。
33<>c<>169<>120
22<>b<>169<>68
1<>a<>169<>68
正しくはa,b,cさんの順ですよね?
>>978 正規表現でマッチング。
980 :
:03/02/08 04:12 ID:???
>>978 こんな感じ?
$name =~ s/?#(.+)/&trip($1)/eg;
sub trip {
my ($conv) = @_;
my $conv = substr(crypt($conv, $salt), -8);
($conv);
}
264 :本7 ◆HON7/awDa. [sage]:03/02/07 20:34 この早さでは言いにくいが 旧2ch式BBS立てたけど誰も来ない
>>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
>>982 どうだ、凄いだろ、俺のチンチン!っていう回答
熟女は喜ぶが処女は痛がる
>>980 アドバイスありがとうございます
抜き取った文字列はどこに代入されるのでしょうか?
どしろうとで申し訳ないです
>>985 勝手に置換されるように書いてあるぞう。わからなくてもとりあえず読んでみよう。
987 :
:03/02/08 23:04 ID:???
backslashが文字化けた。 $name =~ s/¥#(.+)/&trip($1)/eg; #の後の(.+)がトリップ用数字に相当。 (.+)が$1に入って、 これにsub tripで処理したものを、 元のやつと置換する。 $name = "私の名前 #123456"; が $name = "私の名前 aKsdjA4w"; みたくなる。
988 :
nobodyさん :03/02/08 23:15 ID:r91Y0UUN
open F,"+<$file"; while(<F>){print;} seek F,0,0; print F $temp; close F; としたとき、$tempのサイズが元のファイルサイズより小さいと、 $fileの元のデータが後半残ったまま上書きされてしまいました。 これはやはり上書きモードで開き直さなければ駄目でしょうか。
>>988 わかんないけど、seek後truncateしてみたら?
>>986 なれこれいじいったらトリップ入ってないときはそのままで出力できるようになりました。
あとは◆を名前欄に入れたら◇になるよう改造してみます
例えば、
http://www.yahoo.co.jp/ のソースを $st バイトから $to バイトまでのみ
ネットワーク通信によって取得するにはどうすればいいですか?
LWPとかSocketとか頑張って調べましたがわかりません
よろしくお願いします。
>>992 もうちょっとSocketとHTTPの勉強すればいいよ。
perlのmyって変数を続けて書くと最初のやつ以外はmy変数じゃなくなってしまうんですか? 例: my $i; # ←はmy変数 my $i,$j,$k; # ←は$iだけがmy変数(残りはglobal?) my ($i,$j,$k);# ←は全てmy変数 ↑このような認識でいいのですか?
myは関数じゃないからそうなるんだよーん。
>>995 myは関数です。
ついでにいえばreturnも関数です。
このスレは終わらんのか?
999 :
nobodyさん :03/02/09 00:17 ID:zusUFu+4
次スレあるの?
1000 :
nobodyさん :03/02/09 00:17 ID:zusUFu+4
ついでに1000
あ、誰も>
>>999 に答えられなくなっちゃうや。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。