Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

If you were paying attention you would see that even your code had commas between the interior arrays.

$var_data_running .= ",\[\"$row_array[0] \($row_array[2]\)\",$row_arr +ay[2]\]";
That is why
my $orun=join(',',@iarray_run); print "var data_run=[$orun];\n";
is correct.
use strict; use warnings; use DBI; my $storagefile='finddata'; my $DBH = DBI->connect( "dbi:SQLite:dbname=".$storagefile ) || die "Ca +nnot connect: $storagefile $DBI::errstr"; my $sql = 'SELECT queue_name,jobs_pend,jobs_run FROM queues ORDER BY jobs_run DESC'; my $sth = $DBH->prepare( $sql ); $sth->execute(); # input my %table = (); my $recno = 0; my @top = (); while (my ($name,$pend,$run) = $sth->fetchrow_array){ my $key = ($recno++ < 5) ? $name : 'other' ; push @top,$key unless (defined ($top[-1]) && $top[-1] eq 'other'); $table{$key}{'pend'} += $pend; $table{$key}{'run'} += $run; } #So first you need to make your interior arrays my @iarray_run; for my $key (@top){ push @iarray_run,'["'.$key.'",'.$table{$key}{'run'}.']'; } # then you join them and assign them my $orun=join(',',@iarray_run); print "var data_run=[$orun];\n"; my $orun2=join('',@iarray_run); print "wrong-var data_run=[$orun2];\n"; print "\n"; use JSON 'decode_json'; my $frjson_data_run = decode_json( "[$orun2]" );
Result
var data_run=[["adice_short",192],["ncsim_short",84],["ncsim_long",78] +,["adice_long",39],["normal",30],["other",34]]; wrong-var data_run=[["adice_short",192]["ncsim_short",84]["ncsim_long" +,78]["adice_long",39]["normal",30]["other",34]]; , or ] expected while parsing array, at character offset 21 (before "" +ncsim_short",84]["n...") at 1187071a.pl line 38.
Even poj's code at Re^5: How to add columns with new row name using perl from mysql query? via encode_json prints
var data_run = [["adice_short (192)","192"],["ncsim_short (84)","84"], +["ncsim_long (78)","78"],["adice_long (39)","39"],["normal (30)","30" +],["other (34)","34"]]
so i think you still need to pay much more attention to what you are doing.

http://www.json.org/An array is an ordered collection of values. An array begins with [ (left bracket) and ends with ] (right bracket). Values are separated by , (comma).

Just another day wasted i guess

You owe The Oracle some funky characters. And still no proper grovel.


In reply to Re^8: How to add columns with new row name using perl from mysql query? by huck
in thread How to add columns with new row name using perl from mysql query? by perlanswers

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2024-03-30 03:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found