I believe that I have the SQL statment constructor that you were looking for. There are a few things to note about the code. The first is of course that you need at least two items in the hash (I think you knew that). The other is that I had to sort the hash keys to ensure the ordering. I don't know if there is a better way to do that or if it actually matters for your code. I also converted your string arguments into arrays. I figured that if you were storing real values instead of strings, then this would be better. I hope this is what you were looking for.

%hash = ( "view0" => [qw/buffersize size value/], "view1" => [qw/buffersize size value/], "view2" => [qw/buffersize size value/], "view3" => [qw/buffersize size value/]); my $lastview; my $output; foreach $key (sort(keys %hash)){ # Do this only the first time. if(not defined($lastview)){ $lastview = $key; $output = "$key"; next; } $output .= " full outer join $key on $lastview.$hash{$lastview}[1] + = $key.$hash{$key}[1] and $lastview.$hash{$lastview}[0] = $key.$hash +{$lastview}[0]"; $lastview = $key; } print $output, "\n";

In reply to Re: Using hash elements to create a string by RollyGuy
in thread Using hash elements to create a string by johnirl

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.