Perlでリクに答えるス ..
[2ch|▼Menu]
263:デフォルトの名無しさん
05/09/28 18:41:23
行の折り返し処理をしたいのですが、思い浮かびません。

A:aaa,bbb,ccc,ddd,eee,ffff;
B:jjjj,kkkk,llll,mmmm,nnnnn,oooo,pppp,qqqq;
C:rrrr,ssss,tttttt,uu,ssss,cccc,ss;

てな具合に最初の文字列だけ「:」で区切られ、次の文字列からは
「,」で区切られます。最後の文字列には「;」が付きます。
この「,」で区切られた文字列は行により文字列数が違います。
これを下記のように10文字程度ずつ改行したいのですが、どのようにすれば
よいでしょうか?


A:aaa,bbb,ccc,ddd,eee,ffff;
B:jjjj,kkkk,llll,mmmm,nnnnn,
 oooo,pppp,qqqq;
C:rrrr,ssss,tttttt,uu,ssss,cccc,
 ss;



264:デフォルトの名無しさん
05/10/05 02:42:23
>263
下記のどこが10文字程度なのかが分からん。

.........1.........2.........3
123456789012345678901234567890
A:aaa,bbb,ccc,ddd,eee,ffff;
B:jjjj,kkkk,llll,mmmm,nnnnn,
 oooo,pppp,qqqq;
C:rrrr,ssss,tttttt,uu,ssss,cccc,
 ss;



265:デフォルトの名無しさん
05/10/05 13:34:49
>>264
多分、全角の10文字ぐらいということだろうね。
そうすると、出力フォントの幅まで考慮するということだろうか。

266:デフォルトの名無しさん
05/10/09 12:27:47
リク。

昇順にソートされた正の整数が一行に一個づつ書かれたファイルを標準入力から与えると、
その数の範囲を分かりやすく標準出力に表示してくれるスクリプトキボン。

例:
入力
1
2
3
100
101
105
出力
1-3,100-101,105

267:デフォルトの名無しさん
05/10/09 16:03:48
>>266 俺頭悪いからこんなソースしか書けんわ。すまん。
#!/usr/bin/perl
$|=1;

$file = <STDIN>;
chomp $file;

open(FH, $file);
while (<FH>) {
chomp;
push @vals, $_;
}
close(FH);

$head = $vals[0];
$buf .= $vals[0];
shift @vals;
foreach $val (@vals) {
if($head + 1 == $val){
$buf .= '-';
$head = $val;
next;
}
if($val > $head + 1){
$buf .= $head.','.$val;
$head = $val;
next;
}
}

$buf =~ tr/-//s;
print $buf;

268:デフォルトの名無しさん
05/10/09 16:05:07
しかもそれマトモに動かんわ・・無視してごめん

269:デフォルトの名無しさん
05/10/09 16:41:22
物凄い勢いで修正

#!/usr/bin/perl
$|=1;

$file = <STDIN>;
chomp $file;

open(FH, $file);
while (<FH>) {
chomp;
push @vals, $_;
}
close(FH);

$head = $vals[0];
shift @vals;
print $head;
foreach $val (@vals) {
if($head + 1 < $val){
if($flag){ print $head; }
print ',', $val;
$flag = 0;
}
if($head + 1 == $val){
if(!$flag){ print '-'; }
$flag = 1;
}
$head = $val;
}

270:266
05/10/09 17:14:55
>>269
ありがとうございます。完璧です。

標準入力に渡すのは、ファイル名じゃなくてファイルの内容のつもり
だったんですけど、これは私の依頼の文章のほうの問題ですね。
ありがとうございました。

271:デフォルトの名無しさん
05/10/09 21:35:16
>>263

半角10文字で作ってみた(自信なし)

#!/usr/bin/perl
while (<>) {
while (/.{10}.*?,/) {
print "$&\n";
$_ = " $'";
}
print;
}

272:271
05/10/09 21:38:21
これが…
A:aaa,bbb,ccc,ddd,eee,ffff;
B:jjjj,kkkk,llll,mmmm,nnnnn,oooo,pppp,qqqq;
C:rrrr,ssss,tttttt,uu,ssss,cccc,ss;

こうなる
A:aaa,bbb,ccc,
ddd,eee,ffff;
B:jjjj,kkkk,
llll,mmmm,
nnnnn,oooo,
pppp,qqqq;
C:rrrr,ssss,
tttttt,uu,
ssss,cccc,
ss;


273:271
05/10/09 22:27:01
A:aaa,bbb,ccc,ddd,eee,ffff;
B:jjjj,kkkk,llll,mmmm,nnnnn,
 oooo,pppp,qqqq;
C:rrrr,ssss,tttttt,uu,ssss,cccc,
 ss;

A:aaa,bbb,ccc,
 ddd,eee,ffff;
B:jjjj,kkkk,
 llll,mmmm,
 nnnnn,oooo,
 pppp,qqqq;
C:rrrr,ssss,
 tttttt,uu,
 ssss,cccc,
 ss;

( ゚д゚)ポカーン
10文字だよね??

責任とれや!!!!
    _, ,_  パーン
 ( ‘д‘)
   ⊂彡☆))Д´) >>1


274:271
05/10/10 08:57:36
#!/usr/bin/perl

while (<>) {
  while (/.{22}.*?,/) {
    print "$&\n";
    $_ = " $'";
  }
  print;
}

A:aaa,bbb,ccc,ddd,eee,ffff;
B:jjjj,kkkk,llll,mmmm,nnnnn,
 oooo,pppp,qqqq;
C:rrrr,ssss,tttttt,uu,ssss,
 cccc,ss;

(;゚∀゚)=3ムッハー

275:デフォルトの名無しさん
05/10/14 01:32:43
TelneTでサーバにアクセスしてユーザーとパスを入れて、コマンドを打つ
その後に別のサーバーにログインするプログラムを作って
ください。お願いいたします

276:デフォルトの名無しさん
05/10/14 12:21:10
telnetやTelnet、あるいはTELNETなら聞いたことがあるんだが……



TelneTか……


277:デフォルトの名無しさん
05/10/14 14:40:23
>>275
URLリンク(search.cpan.org)

簡単だから自分で作れ

278:デフォルトの名無しさん
05/10/14 16:48:36
>>1 :(・∀・)チンポー!!
おまい、スレたてたんだから少しぐらいやれよ!

279:デフォルトの名無しさん
05/10/14 23:27:14
ログインしているところまでは確認できるけど、WHOコマンド打たないんだよ

280:デフォルトの名無しさん
05/10/15 00:42:13
……

281:デフォルトの名無しさん
05/10/15 20:44:15
このスクリプトが動かないのですが何が原因ですか?
プロンプトは
Username:
password:
Router>
とういう風に変わっていきます。
Routerにログインしてwho打つとログインはしているようなのですが、
$t->cmd("ping 10.1.1.1");
のコマンドを打ってくれません。

教えてください。

#!/usr/bin/perl
use Net::Telnet;
$host='10.1.1.1';
$username='aaa';
$passwd='bbb';
$t = new Net::Telnet (Timeout => 4, Prompt => '/[a-zA-Z ]+: /', Dump_Log => 'telnet-log');
$t->open("$host");
$t->login($username, $passwd);
$t->waitfor('/[a-zA-Z]+>/');
$t->cmd("ping 10.1.1.1");
$t->waitfor('/[a-zA-Z]+>/');
$t->cmd("exit");
$t->close();

282:デフォルトの名無しさん
05/10/15 20:52:45
Net::TelnetのとこのPromptも [a-zA-Z]+> じゃないの?

283:デフォルトの名無しさん
05/10/15 20:54:54
あと、waitforは要らないんじゃない? promptを待つのはcmdだけでよいのでは?

284:デフォルトの名無しさん
05/10/15 21:18:57
>>282
>Net::TelnetのとこのPromptも [a-zA-Z]+> じゃないの?
[a-zA-Z]+> にした場合
>Username:
に反応できなくなってしまったので:にしています

>>283
初心者のためまだ理解していないのですが、
$t->waitfor('/[a-zA-Z]+>/');
はAからZまでのローマじと>が出てきたときに次に進めという意味ですよね?

ログインするとプロンプトはRouter>になります

が、cmd以降のコマンドを打ってくれないので困っています

アドバイスください。

285:デフォルトの名無しさん
05/10/16 10:58:05
すみません、教えていただきたいのですが。
買い物などのWEBで、完了まで時間がかかるとき、「ただいま登録中です」のような一時的画面を表示させたいのですが、
perlではどのような方法があるでしょうか?
javaなどでは時々このようなページを使っているとこがあるのですが。。。。

286:デフォルトの名無しさん
05/10/16 11:44:31
>>285
多分きっと板違い。WebProg板で聞き直すといいよ。
あと、完了までの時間がどれくらいなのか、とか、ブラウザからのリクエストを
受け取った時点で完了までの時間がはっきりするのか、とかの情報も加えた
ほうがいいかも。

287:デフォルトの名無しさん
05/10/17 00:01:32
すみません、ローカルにはてなみたいなシステム構築したいのですが参考になるページ等在れば教えてください

288:デフォルトの名無しさん
05/10/17 02:44:30
>>286
ありがとうございます。ここでは×だったんですね。。。
すみませんでした。

289:デフォルトの名無しさん
05/10/23 11:55:48
Linux> ping -n 127.0.0.1
Pinging 127.0.0.1 with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Linux>exit

Windows>telnet 10.1.1.1
Username:
Password:

Unix> ping -n 2 127.0.0.1
Pinging 127.0.0.1 with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time<5ms TTL=128
Reply from 127.0.0.1: bytes=32 time<5ms TTL=128

Unix>exit

上記のようなログがあり
その中からpingのリプライのtime<xmsをリストするプログラムを教えてください
出力としては
Linuxtime<1ms
Unixtime<5ms
にしたいです。
よろしくお願いいたします。

290:デフォルトの名無しさん
05/10/24 16:18:05
>289
まず、最低限下記の部分ぐらい仕様をはっきりさせろ。
・各(ホストを示す?)ブロックはexitで終わる?
・Reply from行が複数あって、timeが食い違ったときどうする?
・pingが通らないパターンはあるのか?あるならその時どうする?
話はそれからだ。

291:デフォルトの名無しさん
05/10/27 19:44:34
infoseek.jpにsmtp開いて単純にメール送ろうとしたら
NLだけじゃいかんといわれ
s/([^\r])\n$/$1\r\n/
s/^\n$/\r\n/
で修正して送ったら、うまくいくにはいったが、
cgiにしてサーバからおくると文字化けする。
しかも、なぜかクラッシュしてるらしく
サーバからの応答がない。
ブラウザが再送して、結果文字化けしたメールが
大量にinfoseekに残る。
これってなんで?
他のmailboxでは問題ない。

292:デフォルトの名無しさん
05/11/01 12:24:02
コードさらせ。

293:デフォルトの名無しさん
05/11/01 23:18:23
log1.txt log2.txt … log10.txt

というファイル名をきれいにソートしたい。

sort { $b <=> $a } @lists;

だとlog10 をうまく処理できません。

どうすればいいですか??

294:デフォルトの名無しさん
05/11/01 23:19:25
ageます

295:デフォルトの名無しさん
05/11/01 23:49:17
map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { /log(\d+)\.txt/; [$_,$1] } @lists;

296:293
05/11/02 00:08:58
わぁ、どうも!

297:デフォルトの名無しさん
05/11/07 01:59:35
Perl信者共助けてやれ
スレリンク(tech板)

298:デフォルトの名無しさん
05/11/08 10:43:45
リクです。

20051108
aaa
bbb
end

20051109
ccc
ddd
end

20051110
eee
fff
end

という内容のファイル(xxx.txt)があって、標準入力に 20051109 を与えた時に

20051109
ccc
ddd
end

という部分だけを出力させたいんです。お願いします。

299:デフォルトの名無しさん
05/11/08 10:56:28
#!/usr/bin/perl

$date = <STDIN>;
chomp $date;

open(FH, 'xxx.txt');
while (<FH>) {
chomp;
if($_ eq ''){
$flag = 0;
next;
}
if($flag){
print $_, "\n";
next;
}
if($_ eq $date){
print $_, "\n";
$flag = 1;
}
}
close(FH);

テキトー

300:デフォルトの名無しさん
05/11/08 11:21:15
>>298
#!/usr/bin/perl
chomp($input = <STDIN>);
open XXX, "<xxx.txt";
$/="end\n";
while(<XXX>)
{
if(/^($input)/){ print $_; }
}


適当に作ったから動かないかもしれん。

301:298
05/11/08 11:46:59
>>299
動きました。ありがとうございます。

>>300
^ を消すと動きました。ありがとうございます。

302:デフォルトの名無しさん
05/11/19 12:00:41
PERL

303:デフォルトの名無しさん
05/11/19 23:20:48
とあるperlプログラムの中に
PHPでいう
<?php
require("sample.txt");
?>
と同じ効果を付けたいのですが
どんなスクリプトにすればよいのでしょうか

304:デフォルトの名無しさん
05/11/19 23:35:29
require 'sample.txt';

305:デフォルトの名無しさん
05/11/20 00:00:39
>>304
それはやりたい事と違うかも。
PHPでは<? ?>内じゃ無い部分はそのまま出力
use IO::File;
my $fh = new IO::File 'sample.txt';
while (<$fh>) { print $_ }
undef $fh;
やりたい事はどっちだろね

…複合型だと言うならスクリプト部分を判別出来るようにして置いて、マッチングしてevalに放り込む
s/<\?perl(.*?)\?>/$1/ge
例えばこんな感じで

306:デフォルトの名無しさん
05/11/20 00:05:13
初心者なんでなんともいえないのですが
ブラウザでxxx.phpに
アクセスして
<?php
require("sample.txt");
?>
を見ると
sample.txtの文字が表示されるんですよ
それと同じことを
xxx.cgiでもできないかなぁと思いまして

わかりにくくてすみません

307:デフォルトの名無しさん
05/11/20 00:34:02


sub require2 {
my $file = shift;


308:デフォルトの名無しさん
05/11/20 02:35:15
open my$o,">$file" or die;
print$o "orz"x 10**5;
close$o;
return"orz";
}

309:デフォルトの名無しさん
05/11/20 22:24:32


sub require_for_vip {
 my $gold = shift;


310:306
05/11/26 18:39:05
難しいですかね?

311:デフォルトの名無しさん
05/11/26 18:56:33
>>310
>>305に既に答えのコードが書いてあるわけだが。

312:デフォルトの名無しさん
05/11/26 19:33:04
ワロス

313:306
05/11/26 20:39:48
初心者すぎてイマイチわからない自分がいる…
勉強してからこい っていう話だが

314:デフォルトの名無しさん
05/11/26 20:57:29
>>313
そりゃスマンカッタ。説明がちゃんと必要だったな…
#--------------------------------
sub show_file {
my $file = shift;
use IO::File;
my $fh = new IO::File $file;
while (<$fh>) { print $_ }
undef $fh;
}
#--------------------------------
とでもスクリプトのどこかに書いておく。

で、
show_file('ファイル名');
という感じでそのサブルーチンを呼び出せば、そのファイルの中身が表示される。
パッケージが分かれていたりするとこれだけじゃ出来ないがまあその時はその時だ
IO::Fileモジュールが使えない環境ならこっち
#--------------------------------
sub show_file {
my $file = shift;
open SHOW_FILE, $file;
while (<SHOW_FILE>) { print $_ }
close SHOW_FILE;
}
#--------------------------------

315:306
05/11/26 21:28:45
なんどもすみません
.cgiのなかに
HTML表示するところがあるんですけど
そこにshow_file('ファイル名');をやっても
そのまま表示されてしまうのですが
(マジ初心者で迷惑かけすぎですね

316:デフォルトの名無しさん
05/11/26 22:00:54
表示をどうやってるのかによる。
単なるprint なのか、ヒアドキュメントなのか。

317:デフォルトの名無しさん
05/11/26 22:09:20
${show_file('ファイル名')}

318:306
05/11/27 00:26:50
printです

319:デフォルトの名無しさん
05/11/28 15:27:30
誰か心優しい方、これを作ってくださいm(__)m
宿題に手づまりで助けてください!(>人<)

SQL.txtを読み込んで、gakusei.csvを読み出し、
そこからName,Addressのみを表示させるプログラムを作ってください!

データ↓
URLリンク(kansai2channeler.hp.infoseek.co.jp)

実行結果↓(予想)
Name,Address
Junichi,Tsukuba
Akinori,Hitachi

320:デフォルトの名無しさん
05/11/28 19:12:46
>>319
中身も見ずに書く。
つ[DBI + DBD::CSV]

321:デフォルトの名無しさん
05/11/28 19:34:22
htmlページでラジオ形式のインプットタイプを作り、
100問の5択形式にします。
そして、「国語」、「数学」、「英語」、「理科」、「歴史」という
5分野にそれら100問の回答の点数の結果を反映させたいのですが、
回答は1つの分野にのみ加点されるのではなく、例えば1問目が

「万有引力を発見したのはニュートンである」という質問だったとき

5択のうち1番目を選んだら「理科」の変数にも3点加点され、なお、
「歴史」の変数にも2点加点されるという形にしたいと思っています。

この場合、1科目の変数のみに影響するのではなく2科目以上になるので、
各質問ごとに設けた配列の点数をそのまま、「理科」だけに加点するということは
できなさそうです。



それぞれ1問目の input name を "Q001"
2問目は input name を "Q002"とし、3問目以降も同じような方法で
100問目まで指定していきます。

そして、各問題、 「はい」、「はいに近い」、「どっちでもない」、
「いいえに近い」、「いいえ」という5択にして、
input value を「はい」から、"1","2","3","4","5"としていきます。


なにかいい構成が分かるかたいらっしゃいましたら、サブルーチン教えてください。

322:デフォルトの名無しさん
05/11/28 19:53:27
俺はこういうのはJavaScriptでやっちゃってる。

323:デフォルトの名無しさん
05/11/28 20:32:27
>>322
sendmailもいれてるからPERLでやってるんだけど、どうだろー

324:デフォルトの名無しさん
05/11/28 20:34:03
もしくは、計算部分だけJAVAで組んでその結果の変数値(スコア)のみを
CGIに渡すことって可能?

325:デフォルトの名無しさん
05/11/28 21:23:59
$table[1] = { # Q001
  Q => {
    label => "万有引力を発見したのはニュートンである",
    option => [split(" ","はい はいに近い どっちでもない いいえに近い いいえ")]
  },
  A => [
    { rika => 3, rekisi => 2 }, #選択肢1
  ]
};

構成ってこういうこと?
俺もこれをそのままJSONにして、採点までJavaScriptでやった方がいいと思う

326:デフォルトの名無しさん
05/11/29 01:16:34
答えてくれて、ありがとう。
演算部分はjavascriptで組んで、
出てきた結果の値(各分野の点数や文字列など)を
PERLで組んだCGIにデータを受け渡すことって
可能なのかなー?

327:デフォルトの名無しさん
05/11/29 01:34:11
>>326
フォーム内のフィールドにセットしてsubmitするとか、
クエリ文字列を生成しページ移動(Location.href)とか、
今流行のXMLHttpRequestとか色々あるんじゃないかな

328:デフォルトの名無しさん
05/11/29 09:24:09
>>327
最初の1ページ目でjavascriptで演算した値を2ページ目のcgiにサブミットして
表示させるってことは可能?

普通、cgiにサブミットするときってフォーム入力で、入力したもの(変数として)がそのまま
cgiのほうに渡されるでしょ?これを1ページ目でjavascriptで計算して、その結果の値を
そのままcgiに渡すって方法どうすればいいかな?

いいサンプルページやサンプルソースあったら教えてください。

もしかしたら、フォーム入力の「生年月日入力」の部分でこういうふうにjavascriptを組み込んで
昭和→西暦変換とかした値をcgiに渡してたりするようなページもあるような気もします

329:デフォルトの名無しさん
05/11/29 09:47:48
URLリンク(proxy.f2.ymdb.yahoofs.jp)

このような形で問100まであって、問100までの分の値と名前やメアドの値を
formmail.cgiというものに渡すというかんじです。CGI側で質問100個の分の
演算をするのか、もしくは、アップーロードした、この1ページ目でjavascriptを使って
演算し、結果のみの値をcgiに渡して、それらを出力するのがいいのか迷っています。

また、記述の方法などのアドバイスもいただければ幸いです。

330:329
05/11/29 10:15:36
何度もすみません。
やはり、javascriptは使わずcgi側で100問の結果判定を演算するサブルーチンを
作りたいのですが、どういう標記にすればいいでしょうか?>>321にも書きましたが

それぞれ1問目の input name を "Q001"
2問目は input name を "Q002"とし、3問目以降も同じような方法で
100問目まで指定していきます。

そして、各問題、 「はい」、「はいに近い」、「どっちでもない」、
「いいえに近い」、「いいえ」という5択にして、
input value を「はい」から、"1","2","3","4","5"としていきます。

というかんじです。>>322さん、ありがとうございました。
もっと分かりやすい構文を教えていただけないでしょうか?

今考えているのは1ページ目でフォーム入力(ラジオ選択から得た情報)をcgiに
submitした後、getformして入力された値を読み込み

#質問結果判定
sub hantei {

1問目(1ページ目のQ001)「万有引力を発見したのはニュートンである 」に対し、
5択「はい(VALUE=1)」、「はいに近い(2)」、「どっちでもない(3)」、「いいえに近い(4)」、「いいえ(5)」のうち

・「はい」を選ぶと理科に3点加算(rika +=3)、歴史にも2点加算(rekishi +=2)とし、
・「はいに近い」を選択したなら(rika +=2)、(rekishi +=1)
・「どっちでもない」を選択したなら(rika +=1)、(rekishi +=0)
・「いいえに近い」を選択したなら(rika +=0)、(rekishi +=0)
・「いいえ」を選択したなら(rika +=0)、(rekishi +=0)

次の質問(Q002)で同じような形でQ100まで演算していきます


331:デフォルトの名無しさん
05/11/29 11:16:32
どうでもいいけど、毎問メールアドレスを入力させられんの?


332:デフォルトの名無しさん
05/11/29 11:37:19
設問ごとの得点表を

%SCORE_TABLE = (
Q001 => { 1 => { rika => 2, rekishi => 2 },
2 => { rika => 2, rekishi => 1 },
....
},
....
}

という形で用意する。

cgi入力のうち、QNNNに対応する値を%input = (Q001 => 2, Q002 => 1 ,... )
という形のハッシュにまとめる。

あとは

while (my($q, $a) = each %input) {
while (my($k, $s) = each %{$SCORE_TABLE{$q}->{$a}}) {
$score{$k} += $s;
}
}

とまわせば%scoreにそれっぽい結果が得られるだろう。


333:329
05/11/29 11:38:26
>>331
ううん、メアドを登録しなかったらしなかったで得点表示のみのページのみ
出力されて、メアド登録したら、直接SENDMAILで詳細結果が
メールで届くようにするよ。

334:329
05/11/29 13:08:49
>>332
非常にありがたいんですが、原始的な組み方で

if ($moji{Q001} == 1) {
$rika += 2;
$rekishi += 1;}
elsif ($moji{Q001} == 2) {
$rika += 0;
$rekishi += 0;}
elsif ($moji{Q001} == 3) {
$rika += 0;
$rekishi += 0;}
elsif ($moji{Q001} == 4) {
$rika += 0;
$rekishi += 0;}
elsif ($moji{Q001} == 5) {
$rika += 0;
$rekishi += 0;}

335:329つづき↑
05/11/29 13:09:10
にして、最終的にその結果から

if ($rika == 1) {$rikaTEXT = 'rika1点かな';}
elsif ($rika == 2) {$rikaTEXT = 'rika2点かな';}
elsif ($rika == 3) {$rikaTEXT = 'rika3点かな';}
elsif ($rika == 4) {$rikaTEXT = 'rika4点かな';}
else {$rikaTEXT = 'rika不明かな';}

if ($rekishi == 1) {$rekishiTEXT = 'rekishi1点かな';}
elsif ($rekishi == 2) {$rekishiTEXT = 'rekishi2点かな';}
elsif ($rekishi == 3) {$rekishiTEXT = 'rekishi3点かな';}
elsif ($rekishi == 4) {$rekishiTEXT = 'rekishi4点かな';}
else {$rekishiTEXT = 'rekishi不明かな';}

そしてこのスコアから判断されたメッセージをHTML出力するとき

$rikaTEXT<BR>
$rekishiTEXT<BR>


でいいのかな?このままの構成を残して訂正しなきゃならない部分を教えてください。
これで実行してもrikaのスコアしか表示されなくて、rekishiのスコアは表示されません(T_T)


336:デフォルトの名無しさん
05/11/29 19:04:01
鬱陶しいなあ。
まったく理解できないのに偉そうなことばかり。
もうどこかに委託しろよ。

337:デフォルトの名無しさん
05/11/29 20:50:31
>>336
まあまあ、あまり怒りなさんな。
オレはこの調子で100問分書いたスクリプトというものをぜひ拝見したい。

>>335
最後の部分をこんな風に書いたんじゃないの?
---------------------------------
print "$rikaTEXT<BR>
$rekishiTEXT<BR> ";
---------------------------------
それなら、こうするとうまくいくよ。
print "$rikaTEXT<BR>\n$rekishiTEXT<BR> ";

あと、スクリプト完成したらぜひ公開きぼ〜ん。

338:デフォルトの名無しさん
05/11/29 23:18:59
>>337
ありがとう。見せたいとこだけど、
ごめんよー

339:デフォルトの名無しさん
05/11/29 23:57:56
>>338
そうか。Perlスクリプトを公開すれば解答も公開すること
になるから仕方ないかもしれんな。しかし、大体の想像はつく。
>>334 に書いてあるものを100問分作って、
>>335 に書いてあるものを0〜200の範囲で作るんだね。
拝見できないのは残念だが、まあ、がんばってタイプしてくれ。


340:デフォルトの名無しさん
05/11/30 00:31:36
>>339
本当にありがとう。いい人いるんだね。ありがとう。
点数配分を配列ではなく、原始的な構造でチマチマ入力してやっていきます。
3000行以上のCGIになります(笑)

341:デフォルトの名無しさん
05/11/30 07:26:07
微笑ましいですね^^

342:デフォルトの名無しさん
05/11/30 11:25:43
^^;

343:デフォルトの名無しさん
05/11/30 19:04:43

性別

回答者合計者○($SEXSUM)名中

男○($SEXMALE)名
女○($SEXFEMALE)名




というのをHTMLで出力したいんだけど、ディレクトリに SEX.txtというのを置いて
そのtxtファイルの中に「 0,0 」
というふうに男女の初期値の人数をいれておいて。

毎回フォームから'GENDER'の値が0(男性).もしくは1(女性)で送ってきた時のみ。
SEX.txtを読み込んで、1足して表示→そして読み込んだSEX.txtの人数の一人プラスという
ようなPERLスクリプト分かる人いますか?


344:デフォルトの名無しさん
05/11/30 19:11:07
スレリンク(tech板:641番)

マルチ放置推奨

345:デフォルトの名無しさん
05/12/01 13:49:45
西暦の "2005"という部分だけ、取得したいんだけど

$TIME= (ここはどうすればいいですか?)

346:デフォルトの名無しさん
05/12/01 13:56:41
>>345
この辺読んで基礎からじっくり勉強したらいいんじゃない?
スレリンク(tech板:2番)
URLリンク(www.hyuki.com)

347:デフォルトの名無しさん
05/12/01 14:02:29
my($sec, $min, $hour, $day, $mon, $TIME, $wday) = localtime(time);

# 取得した値を調整(リファレンス参照)
$TIME+= 1900;

348:デフォルトの名無しさん
05/12/01 14:03:51
>>347
とんくす

349:デフォルトの名無しさん
05/12/01 14:27:50
$TIME=`perl -MPOSIX=strftime -le 'print strftime("%Y", localtime())'`


350:デフォルトの名無しさん
05/12/01 14:29:20
>>347
長い

$TIME = 1900 + (localtime(time()))[5];

351:デフォルトの名無しさん
05/12/01 16:01:06
>>350
長いというならlocaltimeの引数のtime()も省略可能だよ。


352:デフォルトの名無しさん
05/12/01 16:11:56
>>351
ナイスつっこみ!
お前みたいなのを待っていた

353:350
05/12/01 16:15:15
知ってるよ
どんなunixtimeを渡すのか分からんから一例を書いたまでだ

354:デフォルトの名無しさん
05/12/01 16:42:12
そういうのを負け惜しみって言うんだぜ

355:デフォルトの名無しさん
05/12/01 17:56:57
>>345
$TIME = 1900 + (localtime)[5];


356:デフォルトの名無しさん
05/12/01 18:00:06
個人的には strftime の方が好みだな。

357:デフォルトの名無しさん
05/12/01 18:04:14
>>343
Yahooにまで…。
URLリンク(messages.yahoo.co.jp)
しかも誰か答えちゃってるし。

358:350
05/12/01 18:08:14
なんで煽られてるのかが分からんのだが・・中学生か?

359:デフォルトの名無しさん
05/12/01 18:24:26
>>343の答えは
スレリンク(php板:965-967番)
でもう出てる

360:デフォルトの名無しさん
05/12/01 18:28:38
>>358
変な奴はほっとけ

361:デフォルトの名無しさん
05/12/01 18:38:49
VIPが出来てから馬鹿が流入してきた

362:デフォルトの名無しさん
05/12/03 23:36:45
馬鹿というかガキなんだよな。煽り方も知らないような。

363:デフォルトの名無しさん
05/12/06 21:25:33
ネットショップで○○時から○台限定で販売、とかいうのを買おうとすると
真っ先にスクリプターに買い占められちゃうんだけど
そういうのに対抗できる自動購入スクリプトってPerlで組めませんか?

364:デフォルトの名無しさん
05/12/06 23:39:56
組めたとしてもここで公開されれば対策される。
対策されなくても公開されている以上大勢が使う。
意味がない。

365:デフォルトの名無しさん
05/12/07 00:01:35
>>363
組めます

366:デフォルトの名無しさん
05/12/07 04:17:29
。゚(゚∩д∩゚)゚。
確かに仰るとおりですね・・・

367:デフォルトの名無しさん
05/12/07 08:47:31
楽天のなら作った事ある

368:デフォルトの名無しさん
05/12/07 09:24:49
ビックカメラのは組めませんか?

369:デフォルトの名無しさん
05/12/07 09:30:28
楽天のは空売りですよ

370:367
05/12/07 09:41:05
いや、俺は楽天で1円で1GBのmp3プレーヤゲットしたんだがw

サンプルページはないのか
ビックカメラの
仕様が分からんとどうにもならんだろ

371:デフォルトの名無しさん
05/12/07 10:57:09
ビックカメラの場合
こういう場合のと
URLリンク(www.biccamera.com)
こういう場合のがあるんだけどなんか違うの?
URLリンク(www.biccamera.com)

372:デフォルトの名無しさん
05/12/10 15:47:01
age保守

373:PAJA
05/12/10 16:52:51
はじめまして、PAJA といいます。
# Vine Linux 3.1 の Perl v5.8.2 です。

./trial.pl の中で、

`vi ./hoge.txt`

と記述したところ、下記のようなメッセージがでてしまいました。

" Vim: 警告: 端末への出力ではありません"

やりたいことは、./trial.pl を実行すると "./hoge.txt を vi で開く"
ようにすることです。

どうすれば、できるようになるでしょうか。

よろしく、お願いします。


374:デフォルトの名無しさん
05/12/10 17:23:42
system "vi hoge.txt";


375:PAJA
05/12/10 19:41:10

>> 374

ちゃんと開くことが出来るようになりました。
ありがとうございました。

376:デフォルトの名無しさん
05/12/11 05:44:49
>>373
実行したものからの出力を受け取らないならバッククォートは使わない

と覚えておくといいよ。

377:デフォルトの名無しさん
05/12/14 15:28:53
すいません。教えてください。
$_ = "AI今日U<KAKIKU>SASISU明日<TATI*TU>NANI";
であるとき

$s1が"AI今日U<KAKIKU>SASISU%sNANI"、
$s2が"明日"、
$s3が"明日TU"、
$s4が"TATITU"
となるようにするプログラムを教えてください。
どうかよろしくお願いします。

378:デフォルトの名無しさん
05/12/14 15:53:09
>>377
$s1 = "AI今日U<KAKIKU>SASISU%sNANI";
$s2 = "明日";
$s3 = "明日TU";
$s4 = "TATITU";

それだけしか条件がないとこれでもいいわけだが(笑)

どういう規則でそうなるのか例だけじゃわかんね。



379:377
05/12/14 16:18:46
>378
すいません。 $_ = "AI今日U<KAKIKU>SASISU明日<TATI*TU>NANI";が条件です。
自分では以下のようにしてやってみていたのですが、うまくいきません。
@list = split (/,/, $_);

if ($list[2] =~ /<[A-Z]+\*[A-Z]+>/) {
($s1 = $list[2]) =~ s/[^A-Z][^<]*<[A-Z]+\*[A-Z]+>/%s/g;

@s2 = $list[2] =~ /([^A-Z][^<]*)<[A-Z]+\*[A-Z]+>/o;
$s2 = $s2[0].$s2[1];

@s3 = $list[2] =~ /([^A-Z][^<]*)<[A-Z]+\*([A-Z]+)>/o;
$s3 = $s2[0].$s2[1];

@s3 = $list[2] =~ /<([A-Z]+)\*{1}([A-Z]+)>/g;
$s3 = $s3[0].$s3[1];
}

380:デフォルトの名無しさん
05/12/14 16:30:10
だめだ。問題を説明する能力のない人らしいので
エスパーさん出番です。


381:ヽ(´ー`)ノ ◆.ogCuANUcE
05/12/14 16:48:42
こうかな。

$_ = "AI今日U<KAKIKU>SASISU明日<TATI*TU>NANI";

(my $s1 = $_) =~ s/([^A-Z<]+)<([A-Z]+)\*([A-Z>]+)>/\%s/;
my $s2 = $1;
my $s3 = $1 . $3;
my $s4 = $2 . $3;

use Data::Dumper;
print Data::Dumper->Dump([$s1, $s2, $s3, $s4], [map { 's'.$_ } (1 .. 4)]);

>>377
誰にでも理解できるように仕様を説明するように。
具体的に言うと、小学生にも分かるように。

382:377
05/12/14 17:07:42
というか、解決?かどうかまだ不明ですが一応出来ました。
379は貼り間違いました。↓は解決?したものです。
$_ = "AI今日U<KAKIKU>SASISU明日<TATI*TU>NANI";
($s1 = $_) =~ s/[^A-Z][^w]{1,3}<[A-Z]+\*[A-Z]+>/%s/g;
print "$s1\n";

@s2 = $_ =~ /([^A-Z][^w]{1,3})<[A-Z]+\*{1}[A-Z]+>/o;
print "@s2\n";

@s3 = $_ =~ /([^A-Z][^w]{1,3})<[A-Z]+\*{1}([A-Z]+)>/o;
print "@s3\n";

@s4 = $_ =~ /<([A-Z]+)\*{1}([A-Z]+)>/g;
print "@s4\n";
これで一応目的の動作をするのですが、
2行目が特によくわかりません。
[^A-Z][^w]{1,3}は何でしょうか?
[^w]って何?ワード文字?ワード文字は\wですよね?
[^w]を普通に読むとwという文字以外すべてだと思うのですが。

383:377
05/12/14 17:14:38
>381
わかりにくくてすいません。
目的は文字列中の<*を含む英大文字>の部分とその直前の漢字の展開です。

384:デフォルトの名無しさん
05/12/23 19:01:41
メートル単位の長さを与えて、それをヤードに変換して表示するプログラムを教えてください。

1メートルは1.1ヤードとしてください。

385:デフォルトの名無しさん
05/12/23 19:03:08
インボカントって何か教えてください

386:384
05/12/23 19:11:02
追記します。

メートル単位の長さをヤードに変換したり、ヤード単位の長さをメートルに変換するプログラムを教えてください。

>>384でかいたような一方通行のプログラムでしたら分かります。
上のような場合、どうやって分岐(?)させればよいのでしょうか?

387:384
05/12/23 19:17:39
>>384について考えたプログラムを載せておきます。
どなたか、>>386のように改変してください。。。

use strict;
my ($meter, $yard);
print "長さをメートルで入力してください";
$meter = <STDIN>;
chomp ($meter);
$yard = $meter * 1.1;
print "$meterメートルは$yardです。\n";

388:デフォルトの名無しさん
05/12/23 20:02:18
>>387
入力値がメートルとした場合のヤードの値
入力値がヤードとした場合のメートルの値
を計算して結果を2行書けばいいんじゃね?

389:デフォルトの名無しさん
05/12/23 22:21:41
>>388
なるほど。
入力時の数字が、10だったら

10メートルは***ヤードです。
10ヤードは***メートルです。

とすれば良いのですね。
逆転の発想ですね!ありがとうございます。

390:デフォルトの名無しさん
05/12/24 00:19:30
それなんて宿題

391:デフォルトの名無しさん
05/12/24 17:51:13
age
宿題でもどーんとこいや

392:デフォルトの名無しさん
05/12/25 18:26:07
perl -MO=Xref,-r hoge.pl の結果から以下のような結果を整形してみたいです。出してください。
■結果
hoge.pl 250<0>main()
hoge.pl 160├<1>get_home_directory()
hoge.pl 135│└<2>usage()
hoge.pl 190├<1>read_configration()
hoge.pl 220│└<2>get_string()
       <<略>>

393:ヽ(´ー`)ノ ◆.ogCuANUcE
05/12/25 19:31:09
>>392
-r 付けなきゃそれっぽくならんかね。

394:デフォルトの名無しさん
05/12/26 00:01:42
あれだと、エディタのタグジャンプ使えないし、みづらいので。
cの関数コールグラフ書くフリーウェアのfunctreeみたいな使い勝手
のものが欲しいです。

395:デフォルトの名無しさん
05/12/26 11:49:52
>>386
引数で数値の後に m が付いていたらメートル、yが付いていたら
ヤード、ということにするならこんな感じか。

#!/usr/bin/perl -w
use strict;
for(@ARGV) {
if(/^(\d+(\.\d+)?)(m|y)$/) {
if ($3 eq 'm') {
print "$1 メートル = " . ($1 * 1.1) . " ヤード\n";
} else {
print "$1 ヤード = " . ($1 / 1.1) . " メートル\n";
}
} else {
print STDERR "$_: 解釈できません。\n";
}
}


396:デフォルトの名無しさん
06/01/13 16:15:09
1
INDATEというファイルの中身を読み込んで処理するものであること。(INDATEも提出すること)
2
少なくとも一個のif文をつかっている。

3
for.while.foreachなどの繰り返しを少なくとも一個は使っている。
4
少なくとも一個の配列を使っている。
5
少なくとも一個の引数を使っている。
6
以下の様に実行することでOUTDATEに結果が出力される。
%KADAI3<INDATE>OUTDATE
注:3は引数である。

という課題です。頼みます。

397:デフォルトの名無しさん
06/01/13 16:17:49
>>396
教科書に答えが。

398:デフォルトの名無しさん
06/01/13 16:18:35
>>397
う・・・

399:デフォルトの名無しさん
06/01/13 16:40:59
なんだその意味不明な課題
俺が馬鹿なだけかもしれんが、何をしたいのか訳わからん

400:デフォルトの名無しさん
06/01/13 16:44:17
>>399
1〜6を満たす自由な機能のプログラムを作るって課題なんですが…

401:デフォルトの名無しさん
06/01/13 16:47:08
ああそういう意味か
%KADAI3<INDATE>OUTDATE
まだこれの意味が分からんが

402:デフォルトの名無しさん
06/01/13 16:56:45
>>401
Terminalで入力したらってことだからあまり関係ないです。ごめんなさい。

403:デフォルトの名無しさん
06/01/13 17:28:01
それDATEじゃなくてDATAだろ

404:デフォルトの名無しさん
06/01/13 17:37:44
>>403
そうです。ほんとごめんなさい。

405:デフォルトの名無しさん
06/01/13 21:34:26
結局>>397でFAだな


406:デフォルトの名無しさん
06/01/14 07:43:38
そんなぁ・・・

407:デフォルトの名無しさん
06/01/14 09:42:00
#!/usr/bin/perl
use LWP::Simple;
$url = 'URLリンク(girls.twistys.net)';
for ($i=1; $i<=500; $i++) {
$num = sprintf("%03d", $i);
$_ = get($url.$num."/");
s/\w*\d{1,2}\.jpg/push @jpgs, $&/eg;
foreach $jpg (@jpgs) {
getstore($url.$num."/".$jpg, $num.$jpg);
}
}

408:デフォルトの名無しさん
06/01/16 08:50:23
仲間分けについてのプログラムについて教えてください
1番と3番
1番と5番
1番と7番
2番と6番
2番と8番
3番と5番
3番と11番
が仲間です
配列には上から
1\t3
1\t5 ……のように入っています

この時1,3,5,7,11 と 2,6,8 のように仲間に分けるプログラムを作ってください

409:ゆみ
06/01/16 11:24:17
Perl初心者です。教えてください。

日付,メールアドレス
日付,メールアドレス
日付,メールアドレス



と数万行も続くデータから、重複メールアドレスが存在したときは
その行を取り除くということは出来るのでしょうか。
困っています(;;)教えてください。




410:デフォルトの名無しさん
06/01/16 11:39:46
できるよ

411:ゆみ
06/01/16 11:44:33
どうやればいいのでしょうか?
是非教えてください。。。

412:デフォルトの名無しさん
06/01/16 11:44:49
>>409
perl -ne "/,(.+)/ && !$dup{$1}++ && print" in.csv > out.csv

413:ゆみ
06/01/16 11:51:59
>>412

ありがとうございます(*^^*)
これはコマンドプロンプト(PC)上で行う処理方法でしょうか?
サーバー上のCGIファイルの中で処理する場合の書き方はありますか?

またin.csvというのが元のデータファイルで、out.csvというのが
出力された新しいファイルですよね?

414:ゆみ
06/01/16 12:02:04
perl -ne "/,(.+)/ && !$dup{$1}++ && print" in.csv > out.csv

これも試してみましたがうまくいきません。
1万行以上あるのに新しく作られたファイルは60行足らず。

もしかすると私の説明不足なのかもしれません。
重複したメールアドレスの存在しない日付,メールアドレス
のリストを作りたいのですが。。。

意味わかりますでしょうか(**)ごめんなさい。。。

415:デフォルトの名無しさん
06/01/16 13:54:12
>414
m月d日に誰からメールが来てるかのリストを作るのか?

だったらDBに読み込んでクエリ書いた方が手っ取り早いと思われ。
SELECT dateval, addr FROM infile GROUP BY dateval, addr;


416:デフォルトの名無しさん
06/01/16 15:43:02
>>414
てことはまず日で分けて、その中に同じアドレスがあっても1つで出すということだな。
じゃあこれを参考に作れ。

my %data;

while (<>) {
 chomp;
 if (/^([^,]+),(.+)$/) {
  $data{$1}{$2} = 1;
 }
}

for my $day (sort keys %data) {
 for my $addr (sort keys %{$data{$day}}) {
  print "$day,$addr\n";
 }
}


417:デフォルトの名無しさん
06/01/16 15:45:47
>>408
何がどう仲間なのか全然分からん。
もっと詳しく説明するように。


418:デフォルトの名無しさん
06/01/16 19:15:13
>>408
こんなのか?データは標準入力から。

my @ary=();
my @index=();
sub pushme($$)
{
my ($ary,$val)=@_;
my $i;
for($i=$val;!UNIVERSAL::isa($ary->[$i],'ARRAY');$i=$ary->[$i]){}
push(@{$ary->[$i]},$val);
}
while($_=<STDIN>){
/^(\d+)\t(\d+)$/;
if(defined($ary[$1])){
$ary[$2]=$1;
pushme(\@ary,$2);
}elsif(defined($ary[$2])){
$ary[$1]=$2;
pushme(\@ary,$1);
}else{
my @newary=($1,$2);
$ary[$1]=\@newary;
$ary[$2]=$1;
}
foreach(@ary){
if(ref($_) && ref($_) eq 'ARRAY'){
print join(",",@$_)."\n";
}
}

419:418
06/01/16 19:18:56
本当は sub pushme に \@ary 渡すのは蛇足。
渡さなくともここでは @ary は有効なスコープ。

420:デフォルトの名無しさん
06/01/16 20:08:55
>>408
@list = ( "1\t3", "1\t5", "1\t7", "2\t6", "2\t8", "3\t5", "3\t11" );
$tmpstr .= join ':', map "\t$_", @list;

1 while $tmpstr =~ s/(\t\d+)((?:\t\d+)*):((?:[^:]*:)*)((?:\t\d+)*)\1((?:\t\d+)*)(?::|$)/$1$2$4$5:$3/;
1 while $tmpstr =~ s/(\t\d+)((?:\t\d+)*)\1(?=\t|:)/$1$2/;

@grouping = map [/(\d+)/g], split ':', $tmpstr;
$" = ",";
print "@{$grouping[0]}と@{$grouping[1]}\n";

421:408
06/01/16 21:04:13
配列に@nakamaに上から
$nakama[0]="1\t3";
$nakama[1]="1\t5";
……

という風に入っていて、それぞれ1と3は仲間、1と5は仲間という意味になっています。
1と3が仲間で、3と11が仲間であれば1と11も仲間とします。

これで>>408を 1,3,5,7,11と 2,6,8に分けたいのです。


422:デフォルトの名無しさん
06/01/16 21:06:04
>>420
おお、更新していなくて分かりませんでした。
それでうまく出来ました。ありがとうございます!

423:ゆみ
06/01/16 23:00:24
409です。>>416さん有難う御座います。。。
私はホントに初心者で・・・説明べたで申し訳御座いません。
416さんのは同じ日付内で同じメアドがあった場合、排除するという
内容でしょうか?

たとえば
1月1日,aaa@aaa.aa.aa
1月1日,bbb@bbb.bb.bb
1月1日,ccc@ccc.cc.cc
1月2日,aaa@aaa.aa.aa
1月2日,bbb@bbb.bb.bb
1月3日,bbb@bbb.bb.bb
1月3日,aaa@aaa.aa.aa
1月4日,ccc@ccc.cc.cc
とあった場合、

↓↓↓変換後↓↓↓↓

1月3日,bbb@bbb.bb.bb
1月3日,aaa@aaa.aa.aa
1月4日,ccc@ccc.cc.cc

というように同じメアドが重複しないように更に日付は最新(最下段)
の日付を付けてリスト化したいのです。。。
日付は最上段のものでも構いませんが。。。

出来れば。。。できれば。。。データファイルの読み込み部分から
解説して頂けないでしょうか。。。DBではなく、テキストファイルなんです。。。
本当にすみません(><)(;;)




424:デフォルトの名無しさん
06/01/16 23:19:38
ファイル読み込みくらいなら、perl入門のサイトや本で調べられるだろ

425:デフォルトの名無しさん
06/01/16 23:25:50
>>423
初心者初心者連呼するならエクセルのフィルタ使うとかにしたほうがいいんでない?

426:ゆみ
06/01/16 23:33:08
>>424厳しいお言葉・・・有難う御座います。
ではファイルの読み込み部分は結構です。。。
>>425それでは意味がないのです。。。

お願いします!!!(;;)

427:デフォルトの名無しさん
06/01/16 23:39:52
こんな擦れ合ったのか〜

次の答えを教えてください。

以下のタグを結合したい。

(1)<M>hogeM</M><X>hogeX</X> →  <X>hogeMhogeX</X>
(2)<X>hogeX</X><M>hogeM</M> →  <X>hogeXhogeM</X>
(3)<M>hogeM</M><X>hogeX</X><M>hogeM</M>   → <X>hogeMhogeXhogeM</X>
※<M>hogeM</M><X>hogeX</X><M>hogeM</M><X>hogeX</X> は結合しない。

<例>
※以下は一行で、\ は連結の意味です。

......hoge.......<M>hogeM</M><X>hogeX</X>.....\
........hoge......<X>hogeX</X><M>hogeM</M>.....\
.....hoge.........<M>hogeM</M><X>hogeX</X><M>hogeM</M>...\
.........<X>hogeX</X>................<M>hogeM</M>..\
..<M>hogeM</M><X>hogeX</X><M>hogeM</M><X>hogeM</X>

......hoge.......<X>hogeMhogeX</X>.......\
......hoge......<X>hogeXhogeM</X>..........hoge....\
.....<X>hogeMhogeXhogeM</X>............<X>hogeX</X>...\
.............<M>hogeM</M>...\
.<M>hogeM</M><X>hogeX</X><M>hogeM</M><X>hogeM</X>

正規表現でも、何でもOKなのでお願いします。

428:デフォルトの名無しさん
06/01/16 23:52:53
難しかったかな?

429:デフォルトの名無しさん
06/01/17 00:12:25
>>427
ヒント: 解く奴も人間


430:デフォルトの名無しさん
06/01/17 00:36:53
>>427
無理

431:デフォルトの名無しさん
06/01/17 01:53:26
>>426
意味がないってどういうこと?
csvをエクセルに読み込んで重複を消すだけじゃないの?
知識らしい知識もいらんし煽りじゃなくあなたのような人向けだと思うが。

432:デフォルトの名無しさん
06/01/17 01:59:03
>>413でCGIで動かしたいってあるよ

433:デフォルトの名無しさん
06/01/17 02:50:39
>>423

while (<$fh>) {
chomp;
my($date, $mail) = split /,/;
$mails{$mail} = $date;
}

後は自分で何とかしろ。



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4351日前に更新/217 KB
担当:undef