PrePan

I recently decided to try to create a CPAN module I thought might be of interest to the community.

http://prepan.org/module/nYhnPU5b9ce

Having gone through the steps necessary to create an account and having read the admonition to seek input before adding needless modules to CPAN by posting on PrePan I was a bit disappointed to find that PrePan is not very active.

Is PrePan still a viable channel for vetting ideas or is there a different path? If so, the CPAN instructions might want to suggest the alternative…

Perl DBI and INTERVAL values

I was having trouble using DBI to bind an interval value. Wonder if anyone has a better solution than this:

http://openbedrock.blogspot.com/2017/06/binding-parameters-for-oracle-interval.html

i could not find any information about binding an Oracle INTERVAL LITERAL. Maybe I just missed it in the docs?

Another reason not to use each()

So I’ve learned my lesson. Do not use each().

Always good to read the blogs…

http://blogs.perl.org/users/rurban/2014/04/do-not-use-each.html

Here’s a fun one that caused perl to go into an infinite loop. I suppose being frugal and not assigning things to variables is not necessarily a good idea.

  #!/usr/bin/perl

  use strict;
  use warnings;

  my %thingies = %{{qw/a 1 b 2 c 3/}};

  my $c=0;

  #while (my ($a,$b) = each %thingies ) {
  while (my ($a,$b) = each %{{qw/a 1 b 2 c 3/}} ) {
    print "$a $b $c\n";
    last if ++$c > 4;  # stop the madness
  }

Uncommenting out the line above where each uses a pre-assigned version of the same data element works fine. Not knowing anything regarding the internals of Perl makes me scratch my head. I’m sure there is a perfectly good explanation for this and maybe it has even been corrected in a more recent version of Perl?

$ perl -v

This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi

Follow-up

Reading the PerlMonks helps too!

http://www.perlmonks.org/?node_id=754380

I guess perl does not read minds all of the time. In the tradition of do what I want, not what I wrote I had hoped that perl knew that I only wanted to create the data element once, not each time through the loop. My bad.

Moral: Do not use each() - unless you are aware of all of the gotchas and even them don’t use each.

Perl is dead

Again...I guess this trope is something Perl developers just have to accept as we keep coding our Perl modules and scripts.

The eigenvector of "Why we moved from language X to language Y"

AWS CodeBuild

I've been playing with Amazon's CodeBuild for Bedrock's CI/CD pipeline.

Some gotchas but CodeBuild is cool.


http://openbedrock.blogspot.com/2017/03/aws-codebuild-howto.html