
No.4ベストアンサー
- 回答日時:
#1>open ( IN, '<:encoding(shiftjis)', "target_text.txt") ;
を使ってやってもOKでした。
逆に、'<:encoding(shiftjis)' を省略すると、仰るような結果になるので、
use encoding "shiftjis";
が、うまく機能していないのかなと思います。
use encoding "Shift_jis";
use encoding "cp932";
use encoding "UTF-8";
などを試してみたらどうなりますか?
どうも、スクリプトの実際の文字コードがシフトJISではないのではないかと思います。例えばUTF-8とか
(読み込むファイルの方は仰るように変換時に指定コードと違う場合はエラーメッセージがでますので、でないということは、シフトJISで間違いないと思います)
No.3
- 回答日時:
Perlのバージョンはどうなっていますか?
5.8.0でShiftJISの文字がうまく処理されないというバグがありました。
もしバージョンが5.8.0なら、バージョンアップをしましょう。
No.1
- 回答日時:
ん~, 手元 (perl 5.8.8) だと
#!/usr/local/bin/perl
use encoding 'shiftjis';
$t = "aaa bbb";
($t1, $t2) = split(/ /, $t);
print "$t1 $t2\n";
できちんと動いてるんですけど....
「無理」ってのは, どういうことをさしているんでしょうか?
あと, 「正しいデータが入力されているのか」も要チェックかな.
この回答への補足
回答ありがとうございます。
すみません。重要な点を書き忘れていました。
分割対象のテキストは外部からインターネット経由で取ってくるテキストです。
GETしたのち、
open ( IN, '<:encoding(shiftjis)', "target_text.txt") ;
としてエンコーディングしています。取ってくる元のファイル(ここではtarget_text.txt)はshiftJISです。
実はこの部分も自信がありません。
スクリプト本文もshiftJISなので、この記述は不要では?と最初思ったのですが、動かしてみると文字化けを起こすのでやむなく入れています。
この記述で一応ちゃんと動いているようですが、、、
「無理」と書いたのは、空白全角が無視されてしまうということです。
$t = "サンプルテキスト テストテスト";
($t1,$t2) = split(/ /,$t);
だとすると、$t1に"サンプルテキスト テストテスト"と代入され、$t2は空になります。
'<:encoding(shiftjis)', で正しいかどうかは自信がありませんが、化けずに表示されるので、「正しい」データだと思いますが、、、、
引き続き、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- その他(プログラミング・Web制作) 2つのテキストファイルを比べて文字列を特定する方法を教えて下さい 5 2022/05/01 15:22
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- その他(プログラミング・Web制作) 変換のプログラムを教えてください。 6 2023/07/01 09:57
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字置き換えのエラーについて
-
全角空白での文字列分割について
-
文字列を複数行の先頭にいれた...
-
(秀丸)正規表現で、CSV内金額へ...
-
Form間での値の受け渡しについて
-
perlで文字の一部を削除したい
-
perl初心者ですが・・・助けて...
-
月刊LinuxWorldのめっちゃ便利...
-
古い Perl における制約??
-
日付を入力すると曜日が返って...
-
Cannot redeclare/ Xoops legacy
-
インストールについて(初心者...
-
if ($t_image)の意味について教...
-
CPANのメッセージ
-
My関数の有効な使い方。
-
ptkdbを使ってCGIプログラムを...
-
prologのプログラムについて
-
bash と Perl
-
Perlでのファイル処理について...
-
WindowsXPでSpeedyCGIか、FastC...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perl で 64ビットint を扱うには?
-
XPathでのワイルドカード指定
-
UserGetAttributesの第7引数が...
-
シフトJISにおけるマッチング
-
自分が作っているプログラムの...
-
ActivePerl UTF-16の変換
-
(秀丸)正規表現で、CSV内金額へ...
-
HTMLのFORMで入力された文字を...
-
機種依存文字定義エラーを回避...
-
16進変換で不具合
-
perl 正規表現 抽出
-
perl 漢字コードの書き方,エン...
-
perlのgrepで日本語の処理でエ...
-
正規表現 \\s が、\\n に、ヒ...
-
例外処理のフローチャートの記...
-
「デバイスは PRN を初期化でき...
-
VBAで別モジュールへの変数の受...
-
ユーザー定義関数に#NAME?が返...
-
エクセルVBAでシートモジュール...
-
Excel VBAでリンク切れをチェッ...
おすすめ情報