![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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ランキング
-
テキストファイルで提出とは?
-
ファイルをディレクトリ分配の...
-
openした後、closeしないでプロ...
-
perlのプログラミング 部分入れ...
-
Perlのエラーについてご教授く...
-
画像が表示でnull; this.src
-
perlプログラミング 空白行削除
-
Perlで特定文字列から特定文字...
-
ラズベリーパイ初心者です。 ラ...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perl で 64ビットint を扱うには?
-
perlのgrepで日本語の処理でエ...
-
UserGetAttributesの第7引数が...
-
HTMLのFORMで入力された文字を...
-
CGI.pm使用時の文字化けについて
-
perl 正規表現 抽出
-
シフトJISにおけるマッチング
-
全角空白での文字列分割について
-
perl 漢字コードの書き方,エン...
-
ActivePerl UTF-16の変換
-
漢字、カタカナ、ひらがな、英...
-
XPathでのワイルドカード指定
-
正規表現 \\s が、\\n に、ヒ...
-
(秀丸)正規表現で、CSV内金額へ...
-
例外処理のフローチャートの記...
-
Excel VBAでリンク切れをチェッ...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
VBでグローバル変数を宣言するには
-
エクセルVBAでシートモジュール...
おすすめ情報