Friday, December 14, 2012
4.b. Use of the Software through a web server on external-facing servers requires a separate Business Edition license agreement from ACTIVESTATE which will supersede the terms of this license. Except as expressly provided herein, you may not use the Software to provide content or functionality through a web server on external-facing servers.
ActiveState Business Edition licenses for ActivePerl, ActivePython and ActiveTcl are $999 per server. Good luck with that. I don't know about Python or Tcl, but Windows Perl developers will simply use Strawberry Perl.
Thursday, December 13, 2012
John Gruber's The unlikely persistence of AppleScript got me thinking about UserLand Frontier, the "other" Open Scripting Architecture environment, and the late-90s successful effort to port it to Microsoft Windows. And hey, I was there, blogging with Manila and wiring up UserTalk to Perl.
Update: Still works in the OPML Editor!
Thursday, November 29, 2012
edit: Perl Weekly linked to this post, saying, "Unfortunately no explanation comes with the code, but if you like seeing actual uses of Moose roles in the wild, this might be a good opportunity for you." Please let me know in the comments what needs explaining. In the meantime I'll be editing the code on GitHub -- use Gist's fork feature if you'd like to make your own version.
I'm using this to help me selectively port some build plans from one Bamboo server to another. Unfortunately Bamboo doesn't expose all plan information via the API, nor does it provide a way to make changes except through the interactive administration user interface.
As far as programming technique is concerned, this is a really nice demonstration of composing Moose roles for handling the REST client, HTTP authentication and command line parsing. Aside from the actual REST requests I just added an attribute to select the project ID, some additional usage documentation, and some convenience methods.
I like scripts like this because I don't think they need programmer comments -- if you know enough Perl then everything should be fairly obvious.
Tuesday, November 27, 2012
- Processing a CSV (comma-separated value) file with Text::CSV_XS
- Getting output from another program with IPC::System::Simple; in this case, the plink command from PuTTY. Note I had to neuter any errors inside an eval block because I wasn’t interested in connection failures.
- Using some of perl’s command line arguments to get some logic for free