スクリプトをこんな感じで作る。
###一般の掲示板でいうとこのタイトルを短くしたいと考える###
#まずデータよ読む
open(NOTE,"掲示板データ.dat");
@NAIYOU = <NOTE>;
close(NOTE);
#5行表示させたい
$i=5;
#データを読んで
foreach $eachdata (@NAIYOU){
($date,$name,$mail,$title,$comment) = split(/\t/,$eachdata);
#5行チェック
if($i>0){
#ここまではわかるよね?
#####################################
#文字を少なくしたい場合 これがミソかな?
#####################################
$title = substr($title,0,$text_size);
#タイトルの半角文字数を数える
$hankaku = $title =~ tr/\x00-\x7f/\x00-\x7f/;
#カットするまでの文字の中に半角が奇数個あれば、
#カットする文字数を1文字分なくすこれしないと化ける場合あり
if($hankaku % 2){
$text_size2 = $text_size - 1;
}else{
$text_size2 = $text_size;
}
$dtitle = substr($dtitle,0,$text_size2);
#ココまでいったら後は表示さすだけ
print "$dtitle…<br>";
#一行書いた
$i--;
}}
substrってのが、簡単に言えば頭からいくつか引っ張り出す関数
$text_sizeってのが、何文字引っ張りだしたいかって数字
10文字なら 20っていれりゃーいい
$text_size =20;
これを頭にかけばいいよ
これで、5行の引っ張り出しができるから(微調整はいるが笑)
さて問題のHTMLに表示させたいってことだけど
iframe ってので、他の HTML なり.cgiを呼び出せるから手っ取り早くこれがいいんでねーの?
<IFRAME width="表示させたい横サイズ120" height="表示させたい縦サイズ200" name="frame1" src="http://www.xxxxx/どっかしらないけど、↑のスクリプトの場所" scrolling="NO"> </IFRAME>
古いブラウザやMACがこの機能をつかえるかはしりません。
参考になるかな?
補足
こんなに詳しく書いてもらって、ほんとにホントにありがとうございます!!!! で、回答をいただいてからずっとやってみてたんですが、基本的にPerlがわからなくて、また行き詰ってしまいました。。。。すみません。 プログラムの内容はなんとなくつかめたので、 下のように直してみました。 sub tes { open(NOTE,"$logfile"); @NAIYOU = <NOTE>; close(NOTE); #5行表示させたい $i=5; #データを読んで foreach $eachdata (@NAIYOU){ ($no,$reno,$date,$name,$mail,$sub,$comment,$url,$host,$pw,$color,$tail,$w,$h,$chk) = split(/<>/,$eachdata); #5行チェック if($i>0){ #ここまではわかるよね? ##################################### #文字を少なくしたい場合 これがミソかな? ##################################### $sub = substr($sub,0,$text_size); #タイトルの半角文字数を数える $hankaku = $sub =~ tr/\x00-\x7f/\x00-\x7f/; #カットするまでの文字の中に半角が奇数個あれば、 #カットする文字数を1文字分なくすこれしないと化ける場合あり if($hankaku % 2){ $text_size2 = $text_size - 1; }else{ $text_size2 = $text_size; } $dtitle = substr($dtitle,0,$text_size2); #ココまでいったら後は表示さすだけ print "$dtitle…<br>"; #一行書いた $i--; }} } $logfile っていうのが、もともと定義してあったログファイルだったので、 それをオープンして、 その中身を見ると、 ($no,$reno,$date,$name,$mail,$sub,$comment,$url,$host,$pw,$color,$tail,$w,$h,$chk) こういう風に並んでたので、変えました。 あ、頭に$text_size =20;も書きました。 それで、この"tes"っていう関数を 呼び出すときは、 上の方にmodeの設定があったので、 そこに elsif ($mode eq "tes") { &tes; } っていうのを書けば、 ***.cgi?mode=tes っていう形で呼び出せるのかなあ・・・と 思ってたんですが、なんか違うみたい(--; どうやって呼び出したらいいのでしょうか? っというか、そもそもメインのcgiに 教えてもらったスクリプトをつけてるのが 間違いなのでしょうか・・・? なんか、またまた変な質問ですみません。。。(><)