スクリプト改造工房 Part4

このエントリーをはてなブックマークに追加
916896:02/07/17 22:07 ID:???
} elsif($user_agent =~ /OSF1/i) {
$platform = 'OSF1';
if($user_agent =~ /OSF1\s+([a-zA-Z0-9\.]+)/i) {
$platform_v = $1;
} else {
$platform_v = '';
} elsif($user_agent =~ /CBBoard/i) {
$platform = 'CBB';
$platform_v = '1.0';
} else {
$platform = '';
$platform_v = '';
} elsif($user_agent =~ /CBBstandard/i) {
$platform = 'CBB';
$platform_v = '1.0';
} else {
$platform = '';
$platform_v = '';
}
{
return ($platform, $platform_v, $browser, $browser_v);

}
このように訂正しました。
まだ、間違ってますかね?
917nobodyさん:02/07/17 22:17 ID:???
} elsif($user_agent =~ /OSF1/i) {
$platform = 'OSF1';
if($user_agent =~ /OSF1\s+([a-zA-Z0-9\.]+)/i) {
$platform_v = $1;
} else {
$platform_v = '';
}
} elsif($user_agent =~ /CBBstandard/i) {
$platform = 'CBB';
$platform_v = '1.0';
} #                                この行がおかしい?
} elsif($user_agent =~ /CBBoard/i) {
$platform = 'CBB';
$platform_v = '1.0';
}
918896:02/07/17 22:54 ID:???
} elsif($user_agent =~ /OSF1/i) {
$platform = 'OSF1';
if($user_agent =~ /OSF1\s+([a-zA-Z0-9\.]+)/i) {
$platform_v = $1;
} else {
$platform_v = '';
}
} elsif($user_agent =~ /CBBoard/i) {
$platform = 'CBB';
$platform_v = '1.0';
}
} else {
$platform = '';
$platform_v = '';
} elsif($user_agent =~ /CBBstandard/i) {
$platform = 'CBB';
$platform_v = '1.1';
}

return ($platform, $platform_v, $browser, $browser_v);

}
にしてみましたが動作確認とれません。。
} #を消しても見ましたけど‥
919nobodyさん:02/07/17 23:11 ID:???
まだやってたんかい

(前略)
                  } elsif($user_agent =~ /OSF1/i) {
                           $platform = 'OSF1';
                           if($user_agent =~ /OSF1\s+([a-zA-Z0-9\.]+)/i) {
                                    $platform_v = $1;
                           } else {
                                    $platform_v = '';
                           }
                  } elsif($user_agent =~ /CBBstandard/i) {
                           $platform = 'CBB';
                           $platform_v = '1.0';
                  } elsif($user_agent =~ /CBBoard/i) {
                           $platform = 'CBB';
                           $platform_v = '1.0';
                  } else {
                           $platform = '';
                           $platform_v = '';
                  }
         } else {
                  $platform = '';
                  $platform_v = '';
                  $browser = '';
                  $browser_v = '';
         }

         return ($platform, $platform_v, $browser, $browser_v);

}
920896:02/07/18 00:16 ID:???
どうも何度もありがとうございました(・∀・)!!
今まで、perlなどのCGIはパスを調べて置くだけだったのでさっぱり分かりませんでした。
今度ここに来るときはもう少し勉強してきます(^^;
ありがとうございました
921便乗:02/07/18 13:41 ID:???
#!/usr/local/bin/perl の #の直後にある「!」ってどういう意味ですか?

すれ違いな質問かもしれんが、教えてくだされ。
922nobodyさん:02/07/18 13:50 ID:???
俺はそれよりも前に#があるのに何で一行目に書かないといけないんだろう、
の疑問が湧いたことあがる。
923nobodyさん:02/07/18 14:06 ID:???
おまじない
924nobodyさん:02/07/19 15:50 ID:ou++e83o
掲示板の表示される名前の部分だけ色をかえたいのですが、どうずればよいのですか?
925nobodyさん:02/07/19 16:31 ID:???
>>924
カラーマジックペンで上書きしる
926nobodyさん:02/07/19 16:31 ID:???
>>924
マルチうざい
927nobodyさん:02/07/19 17:34 ID:???
>>924
誘導されてこのスレに書きこんだんだろうけど、
>>1をよく読んでから書きこもうや。
928nobodyさん:02/07/21 12:03 ID:???
http://isweb23.infoseek.co.jp/play/cardplay/index.htmlの改造CGIにあるような
CGIはナイでしょうか?
昔作っている人に貰ったことがあるのですがクソみたいな改造だったのですぐ捨ててしまいました。

似たようなインターフェースのCGIは有りませんか?
929nobodyさん:02/07/21 12:58 ID:???
>>928

シネ
むかつくヤローだ
930nobodyさん:02/07/21 15:44 ID:???
>>929
もしかして管理人さんですか?w
ソースは滅茶苦茶だったけど見た目は良いんですよねー
931nobodyさん:02/07/21 15:45 ID:75qq1PAw
CGI工房のWebCalenderをTECHカレンダ風にしたいと思ってます。
あとはスタイルシートの使い方と1つ目の予定を書き込んだ時に
自動挿入される半角スペースを無効にする方法がわかれば形にな
るかと思うのですが、行き詰まったのでどなたかアドバイスをお
願いしますです。
スクリプトは
ttp://www.aikis.or.jp/~s-suzuki/cgilabo/webcalender/
にあるものです。
理想は
ttp://www.ag.wakwak.com/~spec/cgi-bin/calender/webcalen.cgi
のような感じです。
932nobodyさん:02/07/21 16:00 ID:???
>>931
半角スペースはサンプルのソースを見ると
<TR>
<TD ALIGN="right" BGCOLOR="#ffffff" NOWRAP> 10 </TD>
<TD ALIGN="center" BGCOLOR="#ffffff" NOWRAP>水</TD>
<TD BGCOLOR="#ffffff" WIDTH="100%"> テスト<BR><BR><BR><BR>テスト </TD>
</TR>
となっているから
コメントの前と後ろに   を挿入しないように削除すればいい
スクリプトは見てないから自分で の場所を探すこと
933nobodyさん:02/07/21 16:04 ID:???
>>931
ワリィ
' 'は &nbsp; のことね
934nobodyさん:02/07/21 16:06 ID:???
つまり、CGIのソースからコメントを出力するところを探して
コメントの前と後ろの&nbsp;を削除すればオケ
935931:02/07/21 16:11 ID:75qq1PAw
>932-934
ありがとうございます。さっそくやってみます。
936 :02/07/22 18:34 ID:na3eS/Vv
KENTさんのYYボードの改造についてですが、イメージのくまとか猫とかを別のものに
することは出来たのですが、更にイメージの選択を必須項目にしたいのですが、
どうやってやったらよろしいでしょうか?
ご教授お願いいたします。
937nobodyさん:02/07/22 19:28 ID:8TyOV1qR
>イメージのくまとか猫とかを別のものに
上から順にスクリプトを見ていったらわかるよ
938nobodyさん:02/07/22 20:11 ID:???
>>937
ハァ?何言ってんだおまえ
帰れ!!
939nobodyさん:02/07/22 21:32 ID:???
>>936
アイコンの先頭にダミーをいれる
@icon1の先頭に'shokichi'を@icon2の先頭に'アイコンを選ぶ'

# アイコンを定義(上下は必ずペアで)
@icon1 = ('shokichi','bear.gif',・・・,'usagi.gif');
@icon2 = ('アイコンを選ぶ','くま',・・・,'うさぎ');

こうするとアイコンを選ばずにそのまま送信すると icon の値が shokichi として送られるので
あとは $in{'icon'} が shokichi ならエラーを出せばよい

1423行目以降の「フォーム入力チェック」サブルーチンの末尾に追加

        # 管理アイコンのチェック
        if ($my_icon && $in{'icon'} eq $my_gif) {
                if ($in{'pwd'} ne $pass) { &error("管理用アイコンは管理者専用です"); }
        }

        # アイコンが選択されているかのチェック
        if ($in{'icon'} eq "shokichi") { &error("アイコンを選択してください"); }

}
940 936:02/07/22 21:48 ID:BcsBm5TC
>>939
完璧です。
ありがとうございました。
941age:02/07/23 16:48 ID:???
age
942nobodyさん:02/07/23 16:51 ID:???
=終了=
943 :02/07/23 16:57 ID:???
http://www.h2.dion.ne.jp/~i-deai/cgi.txt
のメール送信したとき「limit」の値を1減らしたくていろいろいじって
みたんですができません。どかがまずいんでしょうか?
944nobodyさん:02/07/23 17:05 ID:???
>>943
last で終わってるじゃん。
945943:02/07/23 17:11 ID:8GxTWX5C
last;を外したんですが、送信エラーになってしまいます。。。
946 :02/07/23 18:22 ID:???
age
947nobodyさん:02/07/23 18:28 ID:???
=終了=
948nobodyさん:02/07/25 22:04 ID:RlKaNd0u
KENTさんのjoyful掲示板の、ワード検索を改造したいのです。
現在ではアルファベットの大文字小文字は区別されるのですが、
区別無しでヒットするようにしたいのです。
できるものなら半角全角もいっしょくたにしたいのですが、可能でしょうか?
どうか知恵をお貸しください。よろしくお願いします。
949948:02/07/25 22:05 ID:RlKaNd0u
ソースです。
sub find {
&header;
print <<"EOM";
[<a href="$script?">掲示板にもどる</a>]
<table width="100%">
<tr><th bgcolor="#880000">
<font color="#FFFFFF">ワード検索</font>
</th></tr></table>
<P>
<UL>
<LI>検索したい<b>キーワード</b>を入力し、「条件」「表\示」を選択して「検索」ボタンを押して下さい。
<LI>キーワードは「半角スペース」で区切って複数指定することができます。
<P><form action="$script" method="POST">
<input type=hidden name=mode value="find">
キーワード:<input type=text name=word size=30 value="$in{'word'}">
条件:<select name=cond>
EOM
if (!$in{'cond'}) { $in{'cond'} = "AND"; }
foreach ("AND", "OR") {
if ($in{'cond'} eq "$_") {
print "<option value=\"$_\" selected>$_\n";
} else {
print "<option value=\"$_\">$_\n";
}
}
print "</select>\n";
print "表\示:<select name=view>\n";
if ($in{'view'} eq "") { $in{'view'} = $p_log; }
foreach (5,10,15,20) {
950948:02/07/25 22:06 ID:RlKaNd0u
if ($in{'view'} == $_) {
print "<option value=\"$_\" selected>$_件\n";
} else {
print "<option value=\"$_\">$_件\n";
}
}
print "</select>\n";
print "<input type=submit value='検索'></form>\n</UL>\n";

# ワード検索の実行と結果表示
if ($in{'word'} ne "") {

# 入力内容を整理
$in{'word'} =~ s/ / /g;
@pairs = split(/\s+/, $in{'word'});

# ファイルを読み込み
@new=();
open(IN,"$logfile") || &error("Open Error : $logfile");
$top = <IN>;
while (<IN>) {
$flag=0;
foreach $pair (@pairs) {
if (index($_,$pair) >= 0) {
$flag=1;
if ($in{'cond'} eq 'OR') { last; }
} else {
if ($in{'cond'} eq 'AND') { $flag=0; last; }
}
}
if ($flag) { push(@new,$_); }
}
close(IN);
951948 txtでアップするべきでした。反省(;´Д`):02/07/25 22:07 ID:RlKaNd0u
# 検索終了
$count = @new;
print "検索結果:<b>$count</b>件\n";
if ($page eq '') { $page = 0; }
$end_data = @new - 1;
$page_end = $page + $in{'view'} - 1;
if ($page_end >= $end_data) { $page_end = $end_data; }

$next_line = $page_end + 1;
$back_line = $page - $in{'view'};

$enwd = &url_enc($in{'word'});
if ($back_line >= 0) {
print "[<a href=\"$script?mode=find&page=$back_line&word=$enwd&view=$in{'view'}&cond=$in{'cond'}\">前の$in{'view'}件</a>]\n";
}
if ($page_end ne "$end_data") {
print "[<a href=\"$script?mode=find&page=$next_line&word=$enwd&view=$in{'view'}&cond=$in{'cond'}\">次の$in{'view'}件</a>]\n";
}
print "[<a href=\"$script?mode=find\">検索やり直し</a>]\n";

foreach ($page .. $page_end) {
($no,$reno,$date,$name,$email,$sub,$com,$url)
= split(/<>/, $new[$_]);
if ($email) { $name = "<a href=\"mailto:$email\">$name</a>"; }
if ($url) { $url = "<<a href=\"http://$url\" target='_top'>HOME</a>>"; }

if ($reno) { $no = "$renoへのレス"; }

# 結果を表示
print "<hr>[<b>$no</b>] <font color=\"$sub_color\"><b>$sub</b></font>";
print " 投稿者:<b>$name</b> <small>投稿日:$date</small> $url<br>\n";
print "<blockquote>$com</blockquote>\n";
}
print "<hr>\n";
}
print "</body></html>\n";
exit;
}

長くなってすみませんが、ワード検索のサブルーチン一通りです。
952nobodyさん:02/07/25 22:26 ID:???
ぼくよくわかんないけど

# 入力内容を整理
$in{'word'} =~ s/ / /ig;

とかきいたことがあるよママ
953nobodyさん:02/07/25 22:32 ID:bgz0ge4n
>>952
所詮、ガキはそのレベルだ。
    
   な    ぜ    あ     げ    る?
955nobodyさん:02/07/26 01:49 ID:0BDmH9hb
age
956nobodyさん:02/07/26 10:37 ID:???
>>952
全角空白文字に大小文字の区別は(以下略)
957nobodyさん:02/07/26 19:45 ID:kVw69kF2
>>948
#大文字小文字区別無し

if (index($_,$pair) >= 0) {

if($pair =~ /$_/i){

半角全角区別無しは一旦 &jcode'h2z_sjis(*value)とかで両文字列を
統一してから照合すりゃ良いんじゃないかな。重そうだけど。
958948:02/07/26 23:30 ID:???
>>957
ありがとうございます。
それは上の文を下の文に書き換えればよいのでしょうか。
書き換えてみたのですが上手く動かないのです…
(何も検出されなくなってしまいました)
とにかく辞書や勉強スレなども見て、自分でもいろいろやってみます。
大きく前進できたと思います。
ありがとうございました。
959957:02/07/27 00:03 ID:pvFK+xGB
>>958
ああごめん、逆だ。
if($pair =~ /$_/i){
じゃなくて
if($_ =~ /$pair/i){
だ。つーかそんなら
if(/$pair/i){
か。
960nobodyさん:02/07/27 01:52 ID:???
>>959
所詮、ガキはそのレベルだ。
961nobodyさん:02/07/27 02:35 ID:???
>>960
Ruby!
962nobodyさん:02/07/27 09:01 ID:???
掲示板にカキコがあった際、内容をメール通知してくれるような
プログラムが欲しいわけだが。
963948:02/07/27 19:01 ID:???
>>959=957
上手くいきました!ありがとうございます!
964nobodyさん:02/07/27 23:40 ID:DH9H4W07
http://pc.2ch.net/test/read.cgi/php/1021897804/599-605
あちらではスレ違いになりますので・・・
ヒントを頂けないでしょうか?
965nobodyさん:02/07/27 23:46 ID:6EI34UHG
CGIだけど、なんか質問ある?Part 6から誘導されて来ました。
宜しくお願いします。

自サイトでffwatchというcigの解析を使っているのですが、丸見え状態
なのでこのcgiにパスワードをつけたいと思っています。
どうすればいいでしょうか?

本体cgi
http://www.geocities.co.jp/AnimalPark-Pochi/9232/ffwatch.txt
ログcgi
http://www.geocities.co.jp/AnimalPark-Pochi/9232/fflog.txt
966nobodyさん:02/07/28 01:16 ID:???
>965
ログファイル名を変えられるなら、
例えば"ffwatch.cgi"、"fflog.cgi"にするのが吉。
これなら.htaccess触らないで済む。
967nobodyさん:02/07/28 04:02 ID:W8D+zAzJ
お絵かきBBSとして、「お絵かきしぃ掲示板 PaintBBS」を設置してみたのですが、
ttp://www.gt.sakura.ne.jp/~ocosama/garakuta/soft/paintbbs/pbbs.html
どうも文字サイズが小さくならないんです。
http://maebari.net/oekei/bbsnote.cgi
この程度まで全ての文字を小さくしたいのですが、
どうすればできるんでしょうか?
CGIの設定ページには文字サイズの設定がないし、試しに「oekaki.cgi」の中の
FONT SIZEをすべて1にしてみましたが、全く変化がありませんでした。

どなたか教えてください。お願いします。
968nobodyさん:02/07/28 04:19 ID:???
CSS で font-size を指定するとか。。
969nobodyさん:02/07/28 04:24 ID:???
>>968
なんかやってたらできました(w
すんまそん。ありがとうございました。
970nobodyさん:02/07/28 04:32 ID:???
>>967
font sizeいじっても変わらないなら
すでにCSSで固定されてんじゃないの?
見てないから知らんが。
つーかtxtでUPされてないもんは見る気もせんが。

Web製作板から来たって話だけど向こうで合ってるよ。
プログラムの部分じゃない以上、ここは板違い。
971nobodyさん:02/07/28 10:12 ID:???
>>965
@enc = ('euc', 'sjis'); # 日本語コード
# --------------------------------------
# パスワード認証
$pass = '';#好きなパスワードを入れる

if ($pass ne "") {
&decode;
if ($in{'pass'} ne "" && $pass ne "$in{'pass'}") {
&error("パスワードが違います");
}
elsif ($in{'pass'} eq "") {
&header;
print "<center><h4>パスワードを入力して下さい</h4>\n";
print "<form action=\"$script\" method=\"POST\">\n";
print "<input type=password name=pass size=6>";
print "<input type=submit value=' 認証 '></form>\n";
print "</center>\n</body></html>\n";
exit;
}
}

# ======================================
# 手続き
# --------------------------------------
こんな感じに付け加える。
ログを書き込むファイルの拡張子もcgiにするといいかも
972965:02/07/28 14:52 ID:J7Vy5sYd
>966
ありがとうございます。ソース見るとファイル名で判ってしまうので…。


>971
ありがとうございます。お手数おかけしてすみません。。
リプトを追加したところffwatchの方に500エラーがでました。
エラーチェックスクリプトでチェックしたところ以下の部分が
エラーと表示されました。

syntax error at (eval 1) line 37, near "?
if ($in{'pass'} ne "" && $pass ne "$in{'pass'}") {
&error("パスワードが違います");
}
elsif ($in{'pass'} eq "") {
?
print"
Unmatched right bracket at (eval 1) line 44, at end of line
syntax error at (eval 1) line 44, near "}
}"

どうしたらいいでしょうか…?
宜しくお願いします。
973971:02/07/28 20:15 ID:Di7q+S2L
今、スクリプトをダウソして試してみたけどそれで動いたよ
よけいなトコを消したんじゃないの?
@enc = ('euc', 'sjis'); # 日本語コード
# --------------------------------------
から
# ======================================
# 手続き
の間をコピペすればいいんだけど、
もう1回確かめてみ
974971:02/07/28 20:20 ID:???
975nobodyさん:02/07/28 21:21 ID:???
みなさんよろしくお願いします。

メールの一斉配信CGIなのですが、送信元(ここでは[email protected]です)から
登録されたユーザー(例:[email protected])に配信したときにヘッダーを見ると

Return-Path: <[email protected]>
Delivered-To: [email protected]

となっていて、送信エラー(宛名不明)のメールが自分のもとに戻ってきません
これを自分のところに戻るように改良していただけないでしょうか?
UP先は以下です。
http://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/upload/source/036.zip
配信先リストがusr.datです。


なお、オリジナルは下記のものですが、今は閉鎖(移転?)されていて、
サポートを受けれないのでこちらでお願いしいています。
SQUZA MAIL MAGAZINE Ver1.2 http://www.squza.com/
976965:02/07/28 22:17 ID:???
>971
度々すみません。
うーん…貼り付けて貰ったものをコピペして使ったのですが、
何がいけなかったのか…。見比べてみてもどうも判りません…。
アップして頂いたものを使わせて貰ったところ、正常に稼動しました。

どこがいけなかったのか、もう一度ちゃんと見直してみます。
本当にどうもありがとうとざいました!
977nobodyさん:02/07/28 22:40 ID:???
文字コードが違ったのでコピペしたら・・・

って可能性は?
978965:02/07/28 22:47 ID:???
文字コード…かちゅを使ってるので、何も気にせずにそのまま
コピペして…TeraPadで保存時にEUCにしてたんですが…。
そうか…文字コードの可能性もあるんですね…。

するとコピした部分だけ別のテキストに保存。
その後文字コードを確認すればよかったんですね…。
そうか〜。
979nobodyさん?:02/07/28 22:58 ID:???
>>975
Errors-Toヘッダがないし。
980nobodyさん:02/07/29 10:00 ID:???
>>975
古いsendmail の引数ですね。これで動いてるんですか。
$sendmail -t -oi -i -f $mailto

$sendmail -t -f $from
にしとけ。
981975:02/07/29 19:42 ID:???
>980 さん 遅くなりました。
さっそく試してみます。
982nobodyさん:02/07/30 09:43 ID:???
>>975
Mail::Mailerモジュールはどうですか。
http://search.cpan.org/doc/MARKOV/MailTools-1.47/Mail/Mailer.pm
sendmailのパスとか面倒なことはすべて書かなくていいです。
とりあえずサブルーチンのlocalをmyにするとわずかですか高速化します。
983nobodyさん:02/07/30 13:53 ID:???
記念パピコV(^o^)V
984nobodyさん:02/07/31 21:11 ID:???
すいません皆さん、まだ改造素人です。よろしくお願いします。

openしたデータファイル

10<>タイトル<>カデコリ<>本文<>2002/08/01 (Thu)<>100000<>hoge<>
9<>タイトル<>カデコリ<>本文<>2002/08/01 (Thu)<>100000<>hoge<>
8<>タイトル<>カデコリ<>本文<>2002/08/01 (Thu)<>100000<>hoge<>
7<>タイトル<>カデコリ<>本文<>2002/08/01 (Thu)<>100000<>hoge<>



1<>タイトル<>カデコリ<>本文<>2002/08/01 (Thu)<>100000<>hoge<>

の上の三行だけを取得したいのです。
どのようにしたらいいのでしょうか?よろしくお願いします。
985 ◆adminSE. :02/07/31 22:10 ID:???
#ログファイルを読み込み専用モードでオープン
open(DATA,"$logfile") || exit;

# @dataに格納し、ファイルを閉じる
@data = <DATA>; close(DATA);

すると$data[0]には1行目が、$data[1]には2行目が、$data[2]には3行目が格納されています
986nobodyさん:02/08/01 04:16 ID:3u+0D44D
KENTさんのASKA BBSに2chみたいなレスにリンクをはりたいんですが
「>>数字」←これ
http://www.kent-web.com/bbs/aska.html

お願いします
987nobodyさん:02/08/01 13:19 ID:???
>>986
$com =~ s/(>>([\d+]))/<a href=\"$script?mode=ref_res&no=$2\" target=\"_blank\">$1<\/a>/g ;
ref_resのサブルーチンは自分で作ってね。
988987:02/08/01 13:20 ID:???
$com =~ s/(&gt;&gt;([\d+]))/<a href=\"$script?mode=ref_res&no=$2\" target=\"_blank\">$1<\/a>/g ;
989987:02/08/01 13:30 ID:???
$com =~ s/(&gt;&gt;([\d]+))/<a href=\"$script?mode=ref_res&no=$2\" target=\"_blank\">$1<\/a>/g ;
( ゚д゚)鬱
990nobodyさん:02/08/01 13:57 ID:???
elsif ($mode eq 'ref_res') { &ref_res; }

sub ref_res {
&header;
open(IN,"$logfile") || &error("Open Error : $logfile");
while (<IN>) {
($no,$date,$name,$mail,$sub,$com,$url) = split(/<>/);
if ($in{'no'} eq $no) {
if ($mail) { $name = "<a href=\"mailto:$mail\">$name</a>"; }
if ($autolink) { &auto_link($com); }
if ($refcolor) { $com =~ s/([\>]|^)(>[^<]*)/$1<font color=\"$refcolor\">$2<\/font>/g; }
$com =~ s/(&gt;&gt;([\d]+))/<a href=\"$script?mode=ref_res&no=$2\" target=\"_blank\">$1<\/a>/g ;
print "<DL><DT><hr>[<b><a name=\"$no\">$no</a></b>] <font color=\"$sub_color\"><b>$sub</b></font> ",
"投稿者:<b>$name</b> 投稿日:$date ",
"<br><br><DD>$com";
print "<P><a href=\"http://$url\" target=\"_blank\">http://$url</a>" if ($url);
print "<br></DL>\n";
last;
}
}
close(IN);
print "</body></html>";
exit;
}
991nobodyさん:02/08/01 14:51 ID:ZXIYAq1T
>>985 読むだけで全部配列に入れるな

>>984 以下の全部、又は欲しいとこだけ考えて組み込みな

####
$start_no = 0;#何行目から取得するか
$last_no = 3;#$start_noから数えて何行目まで取得するか
####上二つは外部からの入力?####

####作業準備
$t_datcount = 0;#作業用カウンタ(トータル数
$datcount = 0;#作業用カウンタ(配列に加えた数
####作業開始
open(DATA,"$logfile");#データ開く
  while(<DATA>){#一行づつ処理
    $t_datcount++;#行数をカウント
    next if($t_datcount < $start_no);#指定した行数までスルー
    if($datcount < $last_no){#指定した行数まで取得
      push(@log,"$_");#現在の行を配列に加える
      $datcount++;#加えた数をカウント
    }
    last;#加え終わったら即抜け。全ログ行数も知りたきゃこれは外す
  }#次の行へ
close(DATA);データ閉じる

#取得した行は@logの中
992991:02/08/01 14:56 ID:???
訂正
× last;
○ }else{last;}
993nobodyさん:02/08/01 18:21 ID:???
994nobodyさん:02/08/04 15:58 ID:???
記念パピコV(^o^)V
995nobodyさん:02/08/04 16:38 ID:???
記念パピコV(^o^)V
996nobodyさん:02/08/04 20:49 ID:exw5uZtl
a
997nobodyさん:02/08/04 20:49 ID:???
i
998 :02/08/04 20:50 ID:???
u
999 :02/08/04 20:50 ID:???
e

1000 :02/08/04 20:50 ID:???
うんこ1000個
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。