MAC OS Xを使用しています。
検索置換のプログラムをperで作成し、Applescript上で呼び出したいのです。
実際はファイルメーカーのスクリプトの中でApplescriptを記述してその中で呼び出したいのです。
do shell script "perl ~.pl"という感じで使えるのではないかと
下記のようなサンプルスクリプトを見つけたのですが
内容の更新の仕方がよく分かりません。
perlについては全くの初心者でいろいろ調べたのですがよく理解できませんでした。
検索置換したいのですが、どういうふうに書けばいいのでしょうか。
(2)の部分を教えて下さい。宜しくお願いします。
use strict;
use warnings;
use File::Copy 'move';
# (1) ファイルの内容を読み込む
my $file = 'F:\共有\PERL\test.txt';
open my $fh, '<', $file
or die qq/Can't open file "$file": $!/;
my $content = do {local $/; <$fh>};
close $fh;
# (2) 内容の更新 ▼をリターンに置き換えたいのです。
$line =~s/▼/\n/;
# (3) 一時ファイルへの書き出し
my $temp_file = "$file.$$." . int(rand 10000);
open my $temp_fh, '>', $temp_file
or die qq/Can't open file "$file": $!/;
print $temp_fh $content;
close $temp_fh or die qq/Can't open file "$file": $!/;
# (4) 一時ファイル名を元のファイル名に変更
move $temp_file, $file
or die qq/Can't move "$temp_file" to "$file": $!/;
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> # (2) 内容の更新 ▼をリターンに置き換えたいのです。
> $line =~s/▼/\n/;
ここの置換内容のことなら、Perlの本を買ってきたり(できればラクダ本クラスのまともなやつ)「perl 正規表現」で検索したりして覚えてください。数例挙げる程度ならともかく、詳細をここに説明できるもんじゃないです。
一応、文字コードが正しければ、コメント通りの動作をするはずですが。
うまくいかないなら、どううまくいかないか、詳細に補足してください。
あと、
> my $file = 'F:\共有\PERL\test.txt';
これで入力ファイルを指定していますが、その指定方法がWindows用ですね。
勉強不足ですね。もうちょっと頑張ってみます。
早速本を購入してみたいと思います。
それでもわからない時に質問させていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- 画像編集・動画編集・音楽編集 DVD Styler トラブル解決方法 6 2022/10/29 16:00
- Perl perlのflock関数でロックをかけたままopen関数で何度もファイルを開きなおすことはできますか 3 2023/05/01 22:25
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- その他(プログラミング・Web制作) Arduinoに関する質問 4 2023/08/07 21:19
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Ruby 教えてください 2 2023/01/04 17:50
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル全てを .xlsm に変更し...
-
複数ファイルを1つにするシェ...
-
VBAコードを張り付け後のエクセ...
-
Perl の「stringify」の意味に...
-
fopen64について
-
PerlでのUseless use...
-
【C++/CLI】ファイルオープンに...
-
csvファイルの横方向への改行に...
-
バッチファイルの作り方(CSV→...
-
MATLAB グローバル変数の宣言
-
VBAでCSVファイルの特定行を書...
-
ExcelをCSV書き出す場合のシー...
-
fopenでディレクトリ内の全ファ...
-
Perlで特定文字列から特定文字...
-
vba dir の相対パス
-
Perlで特定行から特定行までを...
-
awkスクリプトでダブルクォーテ...
-
C言語のバイナリモードでのfsca...
-
chdirがうまくできない
-
batファイルでrenameができませ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.open でのファイル指定方法
-
fgets で値が取得できない
-
VBA テキストファイルを読み取...
-
ファイル全てを .xlsm に変更し...
-
csvファイルの横方向への改行に...
-
Firefox で file:// で始まる U...
-
VBAコードを張り付け後のエクセ...
-
python renameについて
-
JSP URLに表示される拡張子 .jsp
-
foreach内での変数の扱い?
-
HTMLのフォームで画像と文...
-
drtファイルはどうしたら開...
-
PerlでのUseless use...
-
MySQLにバイナリデータを正常に...
-
複数ファイルを1つにするシェ...
-
テキストファイルの高速な読み...
-
巨大なテキストの最終行を取得...
-
並び方、
-
ファイルの存在の有無を確かめ...
-
Perl の「stringify」の意味に...
おすすめ情報