Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: one perl line to write, compile and launch cpan search app for mac

by usemodperl (Beadle)
on Jun 19, 2018 at 08:52 UTC ( #1216923=note: print w/replies, xml ) Need Help??


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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1216923]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2022-12-04 21:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?