• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Shell-Perl-AppleScript scripting
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Shell-Perl-AppleScript scripting


  • Subject: Re: Shell-Perl-AppleScript scripting
  • From: John Fowler <email@hidden>
  • Date: Sun, 28 Dec 2003 20:26:27 -0600

I briefly tried the quoting construct you describe and couldn't get anywhere. I'll try it some more. Thanks.

John Fowler

On Dec 28, 2003, at 4:47 PM, Randal L. Schwartz wrote:

John> on perlreplace(inputstring, targetstring, replacementstring)
John> set shellscript to "/usr/bin/perl -e '$rpl=q|" & replacementstring &
John> "|;$trgt=q|" & targetstring & "|;$thisvar=q|" & inputstring &
John> "|;$thisvar=~s/$trgt/$rpl/sg;print $thisvar;'"
John> log shellscript
John> set theResult to (do shell script shellscript)
John> return theResult
John> end perlreplace

John> The remaining problem appears to be that the quote character (| in this
John> case, but others are legal in perl) can't be part of the target or
John> replacement strings. As far as I can tell, no combination of
John> quotemeta() or "quoted version of" completely solves this problem. In
John> my trials, one version, with quotemeta() applied to the replacement
John> string, yielded output complete with the backslashes rather than
John> de-backslashed. Any suggestions would be welcomed.

The general strategy for a good delimiter is like this:

BEGIN {
chomp($search = <<'UnLiKeLyStRiNg');
your search string goes here, as is
UnLiKeLyStRiNg
chomp($replace = <<'UnLiKeLyStRiNg');
your replace string goes here, as is
UnLiKeLyStRiNg
}
s/$search/$replace/g;

Although my AppleScript-fu is too weak to know how to get the right
newlines in this code. :)
_______________________________________________
applescript-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/applescript-users
Do not post admin requests to the list. They will be ignored.

References: 
 >Shell-Perl-AppleScript scripting (From: John Fowler <email@hidden>)

  • Prev by Date: Re: [OT] Verification required?
  • Next by Date: Re: Bug in Safari or Finder (was File Name Manipulation)
  • Previous by thread: Shell-Perl-AppleScript scripting
  • Next by thread: Re: Shell-Perl-AppleScript scripting
  • Index(es):
    • Date
    • Thread