CGI-BBS > CGI > Perl > Perlについてログの文字列を文字数に置き換えてカウントしたい。


カレッヂ
カレッヂ


質問者 通りすがり  投稿日 2010/2/24(水) 20:13:42  [削除] (返信・回答が付いた後にこの質問の削除はできません)
if(!open(IN, "log.cgi")){print "<br><p align=\"center\"><font color=\"red\">File error</font></p>";};
@xx = <IN>;
foreach ( @xx )	{
	($text) = split(/,/,$_);
	foreach(qw($text)){
		print "$_は". strlength($_) ."文字です";
	}
}

sub strlength {
	my $str = shift;
	jcode::convert(\$str, 'Shift_JIS');
	my @buf =
	$str =~ /([\x00-\x7f]|[\x8e\xa1-\xfe][\xa1-\xfe]|\x8f[\xa1-\xfe][\xa1-\xfe])/og;
	scalar @buf;
}


このようなプログラムで読み込んだlog.cgiの中の文字列を$textに代入して文字数をカウントしようとしたのですが、foreach(qw($text)){の$textに文字列が代入出来ません。
どうすれば文字数をカウント出来ますか?

【習熟度】多少の設置経験

返信(回答)する

 


Web裏技