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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/09/15(金) 14:01:51ID:gobry0n2
Perlのコーディングで困ってる人のスレです。

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

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

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

お勧めサイトは >>2-10

前スレ http://pc8.2ch.net/test/read.cgi/php/1153987463/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
0554nobodyさん2006/10/23(月) 17:28:38ID:???
>>553
あきらめますorz
0555nobodyさん2006/10/23(月) 17:32:21ID:???
         ,. ‐''三ヾ´彡シ,=`丶、
     /'".:=≡ミ_≧_尨彡三:ヽ、
    //.:;:彡:f'"´‐------ ``'r=:l
    /〃彡_彡′,.=、 ̄ ̄ ,.=、 |ミ:〉
   'y=、、:f´===tr==、.___,. ==、._ゞ{
   {´yヘl'′   |   /⌒l′  |`Y}
   ゙、ゝ)       `''''ツ_  _;`ー‐'゙:::::l{   あきらめたら
.    ヽ.__     ,ィnmmm、   .:::|!   そこで試合終了ですよ・・・・
  ,.ィ'´ト.´     ´`"`"`゙″ .::::;'
イ´::ノ|::::l \         "'   :::/
::::::::::::|:::::l   ヽ、      ..::  .:::/.、
:::::: ::: |:::::ヽ    ヽ、.......::::/..:::/!\\
::::::::::: |::::::::ヽ    ``''‐--ァt''′ |!:::ヽ:::\
:::::::::::::|::::::::::::ヽ、       /i|iト、  |l:::::::ヽ:::::\
:::::::::::::|::::::::::::::/:ヽ、   ∧|i|i|i|〉. ||::::::::::ヽ:::::::\
0556nobodyさん2006/10/23(月) 17:42:02ID:???
すごい初心者なことなんですが^^;

フォーム入力から取得した

$in{'address'}の最後が「 .zip 」で終わっているか確認するためには

if($in{'address'}){
# .zipで終わってないときのエラー処理
}

どういうふうにifを組めばいいですか?
0557nobodyさん2006/10/23(月) 17:45:58ID:???
if( $in{'address'} !~ /zip$/){
0558nobodyさん2006/10/23(月) 17:49:33ID:???
>>557
ありがとうございました^^
0559nobodyさん2006/10/23(月) 18:09:10ID:???
>>551さんの方法でうまくいったのですが

逆に
<a href="http://hoge.com/hoge.cgi?keyword=test";>test</a>

を 開始test終了 に戻すときにはどうすればいいでしょうか?

$data =~ s/\Q<a href=(.*?)>\E(.*?)\Q<\/a>\E/開始$2終了/g;

では出来ませんでした
0560nobodyさん2006/10/23(月) 18:29:17ID:???
$data =~ s/<a href=(.*?)>(.*?)<\/a>/開始$2終了/g;
0561nobodyさん2006/10/23(月) 18:48:22ID:???
>>559
$data =~ s|<a\b[^>]*>(.*?)</a>|開始$1終了|g;

http://www.kt.rim.or.jp/~kbk/perl-5.8/perlretut.html
0562nobodyさん2006/10/23(月) 19:12:11ID:I2ot/ZmI
>>560-561
出来ました!ありがとうございました
0563nobodyさん2006/10/24(火) 07:41:17ID:???
昨日質問させていただいた>>562です


>>549 の内容と>>559の内容を

合わせて


$MOJIRETSU="リンク青字テスト/青字/リンク";   #←結果としては<a href=http://hoge.com/hoge.cgi?keyword=テスト><font color=blue>テスト</font></a>が返ってきてほしい


$SEARCHADD="http://hoge.com/hoge.cgi?keyword=";;
$MOJIRETSU =~ s/\Qリンク\E(.*?)\Q/リンク\E/<a href=$SEARCHADD$1>$1<\/a>/g;
$MOJIRETSU =~ s/\Q青字\E(.*?)\Q/青字\E/<font color=blue>$1<\/font>/g;
$MOJIRETSU =~ s/\Q赤字\E(.*?)\Q/赤字\E/<font color=red>$1<\/font>/g;


とすると文字列が
$MOJIRETSU="<a href=http://hoge.com/hoge.cgi?keyword=テスト><font color=blue>テスト</font></a>"が返ってきてほしいのですが

リンク〜/リンクの中身までをURLのkeyword以降に入れて
$MOJIRETSU="<a href=http://http://hoge.com/hoge.cgi?keyword=<font color=blue>テスト</font>><font color=blue>テスト</font>"となってしまいます。
解決方法を教えてください。
0564nobodyさん2006/10/24(火) 09:02:56ID:???
これは酷い
0565nobodyさん2006/10/24(火) 10:04:02ID:???
3日ぐらい考えてくれ
0566nobodyさん2006/10/24(火) 11:06:32ID:???
おれから言えることは

まず煮詰まったら外の空気に触れながら景色を見ろ
0567nobodyさん2006/10/24(火) 15:01:35ID:???
>>563
おまえmixiで同じ質問してるだろ。死ねよ。
0568nobodyさん2006/10/24(火) 17:56:30ID:S0nwA48Z
Perlを始めて間もなくて、分からないことがあって困っています。質問させてください。
現在ウェブメーラーを自作しようとしておりまして、POP3サーバにアクセスしてメールの差出人のメールアドレス、件名、受信時刻、本文を表示しようとしているんですが、件名だけがデコードの仕方が分からずに困っています。本文は
Encode::from_to($body,"iso-2022-jp","shiftjis");
だけでなんとかなってしまったのですが、件名はこれだけだとうまくいかず、デコード前の
=?ISO-2022-JP?B?〜〜〜?=
と表示されてしまいます(〜〜〜は任意の内容)。調べたところヘッダー部はエンコードの方法が異なっているというようなことを見たので、
$Subject = decode_base64($Subject);
としてみたのですが正しい表示はされません。どうしたらうまくいくでしょうか。初心者ゆえくだらない質問かもしれませんが、どうかご教示ください。
0569nobodyさん2006/10/24(火) 18:05:43ID:???
shut the fuck up and search around http://search.cpan.org/
0570nobodyさん2006/10/24(火) 19:44:51ID:FUbqOCaM
ここで尋ねていい物かどうか迷ったんですが質問。
掲示板CGIについて。

2ちゃんねるでは半角カタカナを使っても文字化けってしないですよね。
でも私の掲示板(ベースはKENTのMiniBBSとか、PrismWebのテンプレ掲示板とか)
では、半角カタカナを投稿すると???などという風に化けてしまいます(ログに記録する時点で化けてる)。

この違いって、どこから来るんでしょう?
エンコード方法?それともサーバの問題?jcodeモジュールの問題?
0571nobodyさん2006/10/24(火) 19:53:56ID:???
2chはSJIS以外は受け付けない
0572nobodyさん2006/10/24(火) 19:55:02ID:???
エンコードとデコードが一致してない
0573nobodyさん2006/10/24(火) 20:10:58ID:myoH6Gq+
ここには能力が足らず答えられない奴ばかりですか?まぁ自分もわからんが、>>568の質問放置で可哀想
0574nobodyさん2006/10/24(火) 20:23:38ID:???
メールの仕様をちょっと調べれば済むような事で質問するから放置されるのだよ。
0575nobodyさん2006/10/24(火) 20:31:40ID:???
>>568
キーワードはMIME header
詳細はスレ違い

これでいいのか?
0576nobodyさん2006/10/24(火) 21:13:31ID:/nLWiTuI
perlにてtxtファイルを生成しています。
perlソース自体はEUCで記入しており、生成されたファイルも
EUCコードなのですが、このファイルをブラウザ(IE)で開くと
SJISエンコードで開いてしまい文字化けしてしまいます。
ブラウザがEUCエンコードで表記されたファイルという事を
認識していないようなのですが、どのようにすればEUCとして
認識してくれるのでしょうか?
0577 ◆TWARamEjuA 2006/10/24(火) 21:29:18ID:????BRZ(6667)
>>576
IEを窓から投げ捨てる♪
か、適切なcharsetを指定してあげる♪
0578nobodyさん2006/10/24(火) 21:35:09ID:???
> IEを窓から投げ捨てる♪

なにそれ?
0579nobodyさん2006/10/24(火) 21:38:31ID:???
なにって、そのままの意味にしかとれんが…
0580nobodyさん2006/10/24(火) 21:41:27ID:???
イミフ。
0581nobodyさん2006/10/24(火) 22:13:55ID:???
>>576
EUC-JP のファイルを IE で確実に読みたいなら、IE のエンコード設定を EUC に固定すると良いでしょう。
方法は、あらかじめ IE のメニューから「表示」→「エンコード」→「日本語 (EUC)」を選んでおくだけです。

できれば次は Perl の質問をしに来てください。待ってます。
0582nobodyさん2006/10/24(火) 22:19:35ID:Aum0PYqJ
Content-type: text/html; charset=euc-jp
0583nobodyさん2006/10/24(火) 22:26:53ID:???
>>582
「txtファイル」言うとるで?
0584nobodyさん2006/10/24(火) 22:28:54ID:???
> EUC-JP のファイルを IE で確実に読みたいなら、IE のエンコード設定を EUC に固定すると良いでしょう。

なんで固定するの?バカじゃね?
05855812006/10/24(火) 23:26:18ID:???
>>584
ローカルファイルを開く場合には HTTP レスポンスヘッダによるメタ情報の供給を期待できないからです。
また HTTP 越しに text/plain なファイルを直接要求する場合であって、サーバの設定が原因で文字化けする場合には、サーバの設定変更が必要になるでしょう。
その権限が与えられていないか、または方法がわからない場合、「文字化けしないようにブラウザでファイルを開く」確実な方法はやはり >>581 で述べたとおりになります。

そろそろ Perl の質問をしてくれるとうれしいです。
0586nobodyさん2006/10/25(水) 01:27:54ID:???
保存してエディタで開けばいい
ただそれだけじゃないか・・・
0587nobodyさん2006/10/25(水) 07:32:20ID:???
他人にネット上で見せたいんでしょ。
0588nobodyさん2006/10/25(水) 07:42:09ID:JgcYGtyQ
ただ出力時に見る人の環境に合わせて文字コード変換するだけでいい
0589nobodyさん2006/10/25(水) 07:45:17ID:???
return >>583 if >>588;
0590nobodyさん2006/10/25(水) 07:46:42ID:???
goto じゃw
0591nobodyさん2006/10/25(水) 13:09:45ID:???
公開してるならSJISで出力するcgi組んでそこを叩かせればいい
ローカルなら画面右クリック→エンコード

文字化け相談スレはここですか?
0592nobodyさん2006/10/25(水) 14:04:42ID:???
ひがみ根性まるだしの奴が
このスレは多いね


見てて、すっげぇ香ばしいw
0593nobodyさん2006/10/25(水) 14:15:28ID:???
誤爆?
0594nobodyさん2006/10/25(水) 15:29:36ID:???
VIPから出張してきてるやつがいるのな
ごくろうさまですお
0595nobodyさん2006/10/25(水) 15:46:40ID:???
>>592

そんなの業界ではあたりまえ
プログラマでまともな性格になれるわけねーじゃん
0596nobodyさん2006/10/25(水) 15:53:43ID:???
自演乙
質問の仕方が悪いだけ。
0597nobodyさん2006/10/25(水) 16:01:11ID:???
VIPからキマスタ
0598nobodyさん2006/10/25(水) 16:08:37ID:???


    VIPPERLER最強
0599nobodyさん2006/10/25(水) 16:31:24ID:???
ν速でやれ
0600nobodyさん2006/10/25(水) 16:41:05ID:???
このスレVIPで晒されてるんだが
0601nobodyさん2006/10/25(水) 16:58:38ID:???
お?どこ?
0602nobodyさん2006/10/25(水) 17:34:36ID:???
VIPからキマスタ
0603nobodyさん2006/10/25(水) 17:50:16ID:????BRZ(3696)
遊びにきましたお
0604nobodyさん2006/10/25(水) 18:03:17ID:???
俺も俺もwwwwうぇうwっうぇww
0605nobodyさん2006/10/25(水) 18:31:16ID:???
VIPから来た?


         だ  か  ら  ど  う  し  た
0606nobodyさん2006/10/25(水) 18:44:41ID:???
まあ折角来てくれたんだからお茶でもどうぞ。

つ旦
0607nobodyさん2006/10/25(水) 18:54:59ID:???
どうみても自演だwほっとけw
0608nobodyさん2006/10/26(木) 17:17:15ID:QapkI+o5
ファイル名の一部のみを調べて、一致するファイル全てを一度に削除する
方法はあるのでしょうか?

$delfile = "../test/test_*";
unlink($delfile)
上記ではもちろん成功しませんが、行いたい事はこのような事です。
0609nobodyさん2006/10/26(木) 17:25:48ID:???
readdir
0610nobodyさん2006/10/26(木) 17:31:44ID:???
unlink foreach(glob($delfile));
0611nobodyさん2006/10/26(木) 17:40:41ID:???
open(DIR, TARGET);
while(my $file = readdir(DIR)){
 next if -d $file;

 unlink($file) if $file =~ /DELFILES/;
}
適当すぎるなこれ (;´д`)
0612nobodyさん2006/10/26(木) 17:58:01ID:???
open じゃなくて opendir だし、対応する closedir がないので留年。
0613nobodyさん2006/10/26(木) 18:12:33ID:???
閉じ忘れは投稿したあとには気が付いたんだけどね
0614nobodyさん2006/10/26(木) 18:41:40ID:???
rm rf/
0615nobodyさん2006/10/26(木) 21:44:45ID:???
掲示板に返信したら親記事が消えてしまったと言われたのですが、
以下のファイルロックでは何か不備があるのでしょうか?
フリーから取ってきた掲示板なのでファイルロックなどは良くわからないんですが・・・。

sub filelock {
foreach (1 .. 5) {
if (-e $lockfile) { sleep(1); }
else {open(LOCK,">$lockfile");close(LOCK);return;}
}
&error("只今他の方が書き込み中です。");
}
0616nobodyさん2006/10/26(木) 22:05:58ID:???
>>615
一目でわかるほど明確な不備がある。
-e $lockfileとopen(LOCK,">$lockfile");の間に他のプロセスが割り込めて、それが検知できない。

具体的な安全な方法については色々あるからこの辺でも読んでくれ。
ttp://homepage1.nifty.com/glass/tom_neko/web/web_04.html
0617nobodyさん2006/10/26(木) 22:06:55ID:???
>>615
ロックファイルの存在テストと作成がアトミックでないので全然だめだな。
0618nobodyさん2006/10/26(木) 22:07:31ID:???
>>615

sub filelock {
foreach (1 .. 5) { # 以下の処理を5回繰り返す。
if (-e $lockfile) { # もし$lockfileが既に存在したら(A)
sleep(1); # 1秒待機して(A)に戻る。
} else { # そうでなければ
open(LOCK, ">$lockfile"); # $lockfileを
close(LOCK); # 作って
return; # サブルーチンを抜ける。
}
}
&error("只今他の方が書き込み中です。"); # 5秒待っても$lockfileが存在し続ける場合は諦める。
}

このサブルーチン自体に問題があるとは思えないな。
ファイルロック処理の挿入場所に問題があるかたまたま起こった事故か或いは他の何かだと思う。
というか普通はファイルロックに失敗したくらいで親記事は消えないだろう。
0619nobodyさん2006/10/26(木) 22:09:15ID:???
あ、あれ(´・ω・)
0620nobodyさん2006/10/26(木) 22:16:33ID:???
うわほんとだ、よく見たらifの中でファイル作って茄子。俺恥ずかし…
0621nobodyさん2006/10/26(木) 22:18:30ID:???
こことかどうなん?

ロックファイルを考える
http://www.tryhp.net/lock.htm
0622nobodyさん2006/10/26(木) 22:26:27ID:???
>>621
そこはやめとけ。ネタ?

0623nobodyさん2006/10/26(木) 22:44:18ID:???
>>622
ロックファイルでググったら、これがトップだったからどうなのかな?と思って。
0624nobodyさん2006/10/26(木) 22:48:56ID:???
【Perl】ファイルロック(排他処理)について語ろう
http://pc8.2ch.net/test/read.cgi/php/1024795138/

こっちは参考にならナイン?
0625nobodyさん2006/10/27(金) 00:05:23ID:???
とりあえずflockしとけばいい
06266152006/10/27(金) 00:30:08ID:???
レスありがとうございます。
自分ではif文が程度の知識しかないのでとりあえず
>>616さん参考になんとかできないか考えて見ます。
0627nobodyさん2006/10/27(金) 00:46:20ID:???
大学の課題で、「ある言葉を入力したらこれこれこういう言葉を返すようにしたい」プログラムを作りたいのですが上手く行きません。
サンプルはこんな感じです。

#!/usr/bin/perl
@a = ('kon','hazimemasite','gennki','gennkidesu','baka','bakatohananiyo','sayonara','jaane');

for(;;){
print "Please input sentences :";
chomp($n=<STDIN>);
if($n eq $a[0]){
print $a[1],"\n";
redo;
}elsif($n eq $a[2]){
print $a[3],"\n";
redo;
}elsif($n eq $a[4]){
print $a[5],"\n";
redo;
}elsif($n eq $a[6]){
print $a[7],"\n";
exit;
}else{
print "What is 「$n」?\n";
exit;
}
}
06286272006/10/27(金) 00:47:04ID:???
で、これをハッシュを使って上のプログラムと同じ実行結果にしたいのですが・・・
指定された文字を入力しても上手くいきません。

#!/usr/bin/perl
%a = ('kon','hazimemasite','gennki','gennkidesu','baka','bakatohananiyo','sayonara','jaane');

for(;;){
print "Please input sentences :";
chomp($n=<STDIN>);
if($n eq $a[0]){
print $a{kon},"\n";
redo;
}elsif($n eq $a[2]){
print $a{gennki},"\n";
redo;
}elsif($n eq $a[4]){
print $a{baka},"\n";
redo;
}elsif($n eq $a[6]){
print $a{sayonara},"\n";
exit;
}else{
print "What is 「$n」?\n";
exit;
}
}

自分ではif文内の「$a[x]」がおかしいのかなとは思ったりしてますが・・・
どなたかご教授お願いします。
0629nobodyさん2006/10/27(金) 01:17:45ID:???
>>628
配列をハッシュにしてるんだから、
$a[0]は未定義を参照しようとしてる。
use strictすればすぐ分かる間違いなので、使い慣れておくことお勧め。
で、書き直すならこんな感じ。
#!/usr/bin/perl
%a = ('kon','hazimemasite','gennki','gennkidesu','baka','bakatohananiyo','sayonara','jaane');

while (1) {
  print 'Please input sentences :';
  chomp ( $n = <STDIN> );
  print "$a{$n}\n" if $a{$n};
  exit if $n eq 'sayonara';
  unless ($a{$n}) { print "What is 「$n」?\n" }
  redo;
}
exit;
0630nobodyさん2006/10/27(金) 01:19:02ID:????BRZ(5753)
if (exists $a{$n}){ print $a{$n},"\n"; }
else { print "What is [$n]?\n"; }
0631nobodyさん2006/10/27(金) 01:19:03ID:???
こっちがスマートだったか。
while (1) {
  print 'Please input sentences :';
  chomp ( $n = <STDIN> );
  print "$a{$n}\n" if $a{$n};
  unless ($a{$n}) { print "What is 「$n」?\n" }
  exit if $n eq 'sayonara';
}
0632nobodyさん2006/10/27(金) 01:30:03ID:???
>>621
うわ。。。 いつの間にかterra大先生復活してたのか。
セキュリティホール開けっ放しのCGI配って逃亡した前歴のある人ね。
0633nobodyさん2006/10/27(金) 03:06:18ID:???
>>629-631
ありがとうございます。usetstrict参考にします。

ですが実行するとコマンドプロンプトが終了されてしまいます。

何より、>>630の
  print "$a{$n}\n" if $a{$n}; #ここと
  exit if $n eq 'sayonara';  
  unless ($a{$n}) { print "What is 「$n」?\n" } #この行

が理解できませんf- -;)

『print "$a{$n}\n";』は
「配列aの$n番目?を参照する」という意味でしょうか?
0634nobodyさん2006/10/27(金) 04:04:22ID:???
print "$hoge{$foo}\n";
は
print $hoge{$foo}, "\n";
や
print $hoge{$foo};
print "\n";
と同じ。

print "$name君はオナニー大好き";
と
print $name, "君はオナニー大好き";
や
print $name;
print "君はオナニー大好き";
が同じであるように。
0635nobodyさん2006/10/27(金) 09:43:28ID:???
@aは配列
%aはハッシュ
書き直したほうが見やすいかも
%a = (
  kon => 'hazimemasite',
  gennki => 'gennkidesu',
  baka => 'bakatohananiyo',
  sayonara =>'jaane'
);
$a{$n}はchomp($n=<STDIN>)より、
入力された文字をキーにしてハッシュを参照する。
06366332006/10/27(金) 10:25:36ID:???
>>634-635
ありがとうございます。

ですが、「chomp($n=<STDIN>)」で文字を入力する画面にすら行かず終了してしまいます
コマンドプロンプトだからいけないのでしょうか?
06376332006/10/27(金) 12:32:36ID:???
全角じゃ駄目なんですね・・・勉強になります


exit if $n eq 'sayonara';  
  unless ($a{$n}) { print "What is 「$n」?\n" }

この部分をもう少し無駄のある(これなら省略できるだろうってくらい)表現にするには
どうすればいいでしょうか?
出きればunlessを違う形に出来たらいいなとは思ってますが・・・

0638nobodyさん2006/10/27(金) 13:59:20ID:???
セミコロンを省略しちゃ駄目でしょ
0639nobodyさん2006/10/27(金) 14:18:36ID:???
>>637
if(!$a{$n}){}
>>638
{}の中では省略可能
0640nobodyさん2006/10/27(金) 15:10:04ID:???
while (1) {
print 'Please input sentences :';
chomp ( $n=<STDIN> );
if ( $a{$n} ) { print "$a{$n}\n" }
else { print "What is 「$n」?\n" }

if ( $n eq 'sayonara' ) { last }
}
0641nobodyさん2006/10/27(金) 16:13:39ID:???
>>639
> {}の中では省略可能
正確にはブロックの最後のステートメントな
0642nobodyさん2006/10/27(金) 16:27:26ID:???
気持ち悪い
0643nobodyさん2006/10/27(金) 17:02:56ID:???
大丈夫?吐いたほうが楽だよ
0644nobodyさん2006/10/27(金) 17:07:42ID:???
初心者の俺から見ても、これ以上ないぐらいわかりやすい書き方なんだけど・・・
06456332006/10/27(金) 21:25:59ID:???
できました!!

>>640のがすさまじくわかりやすかったです。
最終的に
------------------------------------------------------------
%a = qw( kon konnnichiwa
gennki gennkidesu
baka bakatohananiyo
sayonara jaane
);

while (1) {
print "Please input sentences :";
chomp ( $n=<STDIN> );
if ( $a{$n} ) { print "$a{$n}\n" }
else { print "What is 「$n」?\n" }
exit if ($n eq "sayonara");
}
--------------------------------------------------------------------
と、しました。
色々と教えてくださった方、本当にありがとうございました。
0646nobodyさん2006/10/27(金) 21:43:39ID:???
ハッシュの書き方例
%a = (
kon => 'konnnichiwa',
gennki => 'gennkidesu',
baka => 'bakatohananiyo',
sayonara => 'jaane',
);
0647nobodyさん2006/10/27(金) 21:51:05ID:???
決して間違った書き方じゃないからいいじゃん
0648nobodyさん2006/10/27(金) 22:27:39ID:???
他の書き方の"例"を書いただけど?
0649nobodyさん2006/10/28(土) 00:54:50ID:???
csvからユーザIDと情報を読み込んで、自分のサーバ領域内のユーザ名.txtに反映させる
cgiを作ろうと思うのですが。

(1)forかwhileで中でcsvの一行ずつopen関数で書き込む
(2)ハッシュに一度格納しておいて後で書き込むか(foreachを使いますが)
どちらの方がサーバに負担が少ないでしょうか?

ユーザが重複している場合、後ろのやり方の方がopen関数を使うのが少なくて済みます。
0650nobodyさん2006/10/28(土) 01:13:11ID:???
残念ながら、openでは書き込めない。
0651nobodyさん2006/10/28(土) 02:53:28ID:???
ユーザーが何万も居て、秒間何回も実行するわけじゃないんだから好きに組めばいいじゃん
0652nobodyさん2006/10/28(土) 12:09:18ID:???
ハッシュに格納しておいてDBI使って書き込むのがいいんじゃないでしょうか
06536332006/10/28(土) 15:46:29ID:???
ゼミの先生に提出したら
「お前、どっかのサイト見たんちゃうか?」って言われました・・・
まあ、その通りなんですがorz
>>627を素直に配列二つ使って表してみろといわれました。
んで、一応
----------------------------------------------------
@a = ('kon','gennki','baka','sayonara');
@b = ('hazimemasite','gennkidesu','bakatohananiyo','jaane');

for(;;){
print "Please input sentences :";
chomp($n=<STDIN>);
if($n eq $a[0]){
print $b[0],"\n";
redo;
}elsif($n eq $a[1]){
print $b[1],"\n";
redo;
}elsif($n eq $a[2]){
print $b[2],"\n";
redo;
}elsif($n eq $a[3]){
print $b[3],"\n";
exit;
}else{
print "What is 「$n」?\n";
exit;
}
}
----------------------------------------------------------
に、したのですが、もう少しまとめた感じにするにはどうすればいいでしょうか?f- -;)
■ このスレッドは過去ログ倉庫に格納されています