質問編集履歴
3
例を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,7 +2,16 @@
|
|
2
2
|
Perlを使用して文字置き換えを試みています。
|
3
3
|
ですが、正規表現"^ +"がうまく機能せず、
|
4
4
|
処理結果は、元の文字列のままになってしまいます。
|
5
|
+
たとえば、
|
6
|
+
```
|
7
|
+
●●●●●●●●
|
8
|
+
●●●●●●●●
|
9
|
+
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
|
10
|
+
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
|
11
|
+
```
|
12
|
+
で、2行目の行頭空白を削除したいということです。
|
5
13
|
|
14
|
+
|
6
15
|
###該当のソースコード
|
7
16
|
```アップルスクリプト
|
8
17
|
set aStr to regex_replace("/^ +//m", aStr) of doPerlKit
|
2
関数の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,10 +6,6 @@
|
|
6
6
|
###該当のソースコード
|
7
7
|
```アップルスクリプト
|
8
8
|
set aStr to regex_replace("/^ +//m", aStr) of doPerlKit
|
9
|
-
```
|
10
|
-
また、外部Perlを読み込む方法も試みています。
|
11
|
-
```アップルスクリプト
|
12
|
-
set aStr to do shell script "perl Perlファイルパス " & aStr
|
13
9
|
|
14
10
|
on regex_replace(regex, target)
|
15
11
|
set command to "$target = q/" & target & "/; $target =~ s" & regex & "; print $target;" --※引数を使用してperlコマンド生成
|
@@ -30,6 +26,10 @@
|
|
30
26
|
end try
|
31
27
|
return str_result
|
32
28
|
end exec_perl
|
29
|
+
```
|
30
|
+
また、外部Perlを読み込む方法も試みています。
|
31
|
+
```アップルスクリプト
|
32
|
+
set aStr to do shell script "perl Perlファイルパス " & aStr
|
33
33
|
|
34
34
|
```
|
35
35
|
```Perl
|
1
ハンドラの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,6 +10,27 @@
|
|
10
10
|
また、外部Perlを読み込む方法も試みています。
|
11
11
|
```アップルスクリプト
|
12
12
|
set aStr to do shell script "perl Perlファイルパス " & aStr
|
13
|
+
|
14
|
+
on regex_replace(regex, target)
|
15
|
+
set command to "$target = q/" & target & "/; $target =~ s" & regex & "; print $target;" --※引数を使用してperlコマンド生成
|
16
|
+
set str_result to exec_perl(command) of me
|
17
|
+
return str_result
|
18
|
+
end regex_replace
|
19
|
+
|
20
|
+
on exec_perl(command)
|
21
|
+
set one_liner to "perl -e '" & command & "'" as Unicode text
|
22
|
+
--log {"one_liner =", one_liner}
|
23
|
+
(*one_liner =, perl -e '$target = q/xxxx@ezweb.ne.jp/; $target =~ s/e/A/g; print $target;'*)
|
24
|
+
--エラー処理
|
25
|
+
try
|
26
|
+
set str_result to do shell script one_liner --※shell実行
|
27
|
+
--log {"str_result =", str_result}
|
28
|
+
on error
|
29
|
+
set str_result to "syntax error : " & one_liner --perlがエラーを吐いたとき
|
30
|
+
end try
|
31
|
+
return str_result
|
32
|
+
end exec_perl
|
33
|
+
|
13
34
|
```
|
14
35
|
```Perl
|
15
36
|
#!/usr/bin/perl
|