• ベストアンサー

テキスト処理 置換

ファイル中の\begin{document}を<body>に変換したい のですが、errorになってしまいます。 s/\begin{document}/<body>/; はどこがだめなのでしょうか。 Perl勉強し始めなものです。 ご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

\はエスケープシーケンスなので、 \\にしないとダメです。 あと、例えば、 $str ="nanntarakatara\begin{document}abudakadabura"; $str =~ s/\\begin{document}/<body>/; とか元の変換しようとしている部分で、 ""を使っている場合エスケープシーケンスが展開されてしまうので、 $str = 'nanntarakatara\begin{document}abudakadabura'; の様にしないとダメです。

mighty5
質問者

お礼

>""を使っている場合エスケープシーケンスが展開されてしまうので、 $str = 'nanntarakatara\begin{document}abudakadabura'; の様にしないとダメです。 そうなのですね、気付きませんでした。 例まで出していただき、どうもありがとうございます。確認できました。

その他の回答 (1)

  • betagamma
  • ベストアンサー率34% (195/558)
回答No.1

s/\begin{document}/<body>/; たぶん、エスケープがうまくいっていないのではないでしょうか?まず、\マークは、\\ですし、{も\{にしないといけないのでは?と思います。 s/\\begin\{document\}/<body>/; で、うまくいきませんか?

mighty5
質問者

お礼

うまくいきました! どうもありがとうございました。

関連するQ&A