質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Q&A

解決済

2回答

3081閲覧

テキストファイルから文字列を読み込むと行頭に記号がつけられてしまう

siusus

総合スコア25

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

0グッド

0クリップ

投稿2017/02/20 10:06

編集2017/02/20 10:26

LWPやMechanizeの使い方を勉強中です。
WindowsでStrawberry_perl 5.24を使用しています。

辞書サイトで英単語を調べるスクリプトを書いているのですが、テキストファイルから英単語を一行ずつ読み込むと"?"や">>?"などの記号がついた状態になってしまいます。どうやら一行目の単語にだけ記号が付け加えられるようです。エンコードの関係なのかファイル形式のせいなのかそれとも改行コード??のせいなのか皆目見当がつかず困っています。

この記号がつかないようにするにはどうしたらよいのでしょうか?
よろしくお願い致します。

###発生している問題・エラーメッセージ

$VAR1 = "http://dictionary.cambridge.org/dictionary/english/\x{feff}catch"; $VAR1 = "\x{feff}catch"; #\x{feff}はutf8で þÿ という記号らしいです http://dictionary.cambridge.org/dictionary/english/?catch #この部分です。 $VAR1 = 'http://dictionary.cambridge.org/dictionary/english/release'; $VAR1 = 'release'; http://dictionary.cambridge.org/dictionary/english/release

###該当のソースコード

use strict; use warnings; use Data::Dumper; use utf8; use Encode; binmode STDOUT, ':utf8'; binmode STDERR, ':utf8'; open(IN, '<:encoding(utf8)', 'word_list.txt'); while(<IN>){ chomp; my ($word) = split(/,/, $_); my $url = 'http://dictionary.cambridge.org/dictionary/english/'; $url = $url.$word; print Dumper($url)."\n"; print Dumper($word)."\n"; print $url."\n"; } close(IN);

###補足情報(言語/FW/ツール等のバージョンなど)
word_list.txt(utf8で保存)の内容
catch
release

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

FEFF は bom です。ユニコードテキストの先頭につけられて、そのエンコードを示します。エンコードがわかっているので、読み飛ばして下さい。

投稿2017/02/20 10:26

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

siusus

2017/02/20 10:37

さっそくの回答ありがとうございます。 BOMはエディタの保存画面で見かけたことはあったのですが、こういった意味合いのものだとは知りませんでした。BOMなしで保存してみます。 こんなに早く回答を頂けるとは・・・すごいですね。感動しました。本当に助かりました! ありがとうございました。
guest

0

CRのようです。
http://qiita.com/decurion-okamoto/items/5ba69c615ab707791dbf
こちらを参考にされてはいかがでしょうか。

投稿2017/02/20 10:31

t_obara

総合スコア5488

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

siusus

2017/02/20 10:46

回答ありがとうございます。 改行処理も環境によってだいぶ変わってくるのですね。勉強になります! こちらの処理方法もさっそく試してみたいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問