文字変換スクリプト

どうやらhtmlを読み込めないのはローカルで動作していることが原因であるようだ。ローカルのファイルは読み込める。
それはそれとして、変換ルーチンに通すとデータが出てこなくなる。うまく変換できていないのだろうか。

	open ( IN, "< $url" ) || &error("指定URL $url を開けません。");
	@data = ;
	close ( IN );

	foreach $line ( @data ) {
		if ( $in{'depend'} ne "none" ) {
			foreach ( @dic_d ) {
				( $bad,$good ) = split ( /?t/ );
				$line = s/$bad/$good/g;
			}
		}
		if ( $in{'kana'} ) {
			foreach ( @dic_k ) {
				( $bad,$good ) = split ( /?t/ );
				$line = s/$bad/$good/g;
			}
		}
		if ( $in{'ab'} ) {
			foreach ( @dic_a ) {
				( $bad,$good ) = split ( /?t/ );
				$line = s/$bad/$good/g;
			}
		}
		print $line;
	}

機種依存文字とカナ、英数をそれぞれ選択変換できるようにしているので同じような処理を3回行っている。
辞書ファイルは1行ごとに「置換対象?t置換後」と列記したもの。
実行すると「1」とだけ表示されるのだが、どこをどうやったらこの処理で1という結果が出るのだろうか。


変換対象となるページの文字コードと辞書ファイルの文字コードが一致していないと変換がうまく行かないような気がするのだが、こういうのはどうすればいいのだろう。jcode.plで文字コードを変換してしまえば良いのか?でもそうすると、htmlで宣言された文字コードと表示される文字コードが一致せずに文字化けが発生してしまうのではないか。
世の変換スクリプト系はどうやって処理しているのだろう。大阪弁変換や電波ニュースなど、変換してみせるページは色々あるがソースを公開しているページにお目にかかれないので仕組みが良く判らない。