in reply to Why is it so easy to make Perl apps for Apple Mac?

perl -Mautodie -we 'die"not apple mac"unless${^O}eq"darwin";open$f,"|- +","osacompile -o CPAN.app";print$f qq~set CPAN to text returned of (d +isplay dialog "Search CPAN for" with title "Perl CPAN Search" default + answer "")\nif CPAN is equal to "" then return\ndo shell script("ope +n \\"https://metacpan.org/search?q=" & CPAN & "\\"")~;close$f;system( +"open CPAN.app")'
  • Comment on Re: one perl line to write, compile and launch cpan search app for mac
  • Download Code

Replies are listed 'Best First'.
Re^2: one perl line to write, compile and launch cpan search app for mac (fathom)
by usemodperl (Beadle) on Jun 19, 2018 at 10:47 UTC
    Didn't mean to obfuscate that, it's just a one-liner. Here's how it works. Perl setup:
    
    perl -Mautodie -we '
    die "not apple mac" unless ${^O} eq "darwin";
    
    
    Open a pipe to the applescript compiler and print:
    
    open $f, "|-", "osacompile -o CPAN.app"; print $f qq~
    
    
    Display applescript dialog to get user input:
    
    set CPAN to text returned of (display dialog "Search CPAN for" with title "Perl CPAN Search" default answer "")\n
    
    
    Exit on empty form:
    
    if CPAN is equal to "" then return\n
    
    
    Open website with user input:
    
    do shell script("open \\"https://metacpan.org/search?q=" & CPAN & "\\"")
    
    
    Back to perl, close the print and pipe, open the app:
    
    ~;
    close $f;
    system("open CPAN.app")'
    
    
    Flowchart:
    
    perl -> applescript -> perl -> app -> CPAN!
    
    
    The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity.—Damian Conway