Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Cant use string(_) as array ref..!!

by thundergnat (Deacon)
on Jan 24, 2013 at 14:33 UTC ( #1015178=note: print w/ replies, xml ) Need Help??


in reply to Cant use string(_) as array ref..!!

Update: changed 'indirect' to 'symbolic' as that is what I meant, but blanked out on while I was composing my post.

First off, Kudos for using the strict and warnings pragmas. They will really help you catch typos and silly errors in your script.

push(@{${$key}[0]},1,33); push(@{${$key}[0]},22,11); push(@{${$key}[1]},2,5); push(@{${$key}[2]},3,4);

Ok you are trying to use indirect symbolic referencing to autovivify your hashes and that is not allowed under the strict pragma. You would probably be better off just predeclaring a single hash and use the day names as keys. Did you really want a 4 element array at index 0 and 2 element arrays elsewhere? Tk::Chart::Lines is going to complain about that. Anyway see if this clears anything up for you.

#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Tk; use Tk::Chart::Lines; my $mw = MainWindow->new( -title => 'Tk::Chart::Lines example', -background => 'white', ); my $chart = $mw->Lines( -title => 'My graph title', -xlabel => 'X Label', -ylabel => 'Y Label', )->pack(qw / -fill both -expand 1 /); my @a = qw/Mon Tue Wed Thurs/; my %days; foreach my $key (@a) { push @{$days{$key}}, [1, 33]; push @{$days{$key}}, [22, 11]; push @{$days{$key}}, [2, 5]; push @{$days{$key}}, [3, 4]; } my $c ='Mon'; # Add a legend to the graph my @legends = ( 'legend 1', 'legend 2', 'legend 3' ); $chart->set_legend( -title => 'Title legend', -data => \@legends, -titlecolors => 'blue', ); # Add help identification $chart->set_balloon(); #print Dumper \$days{$c}; # Create the graph $chart->plot( $days{$c} ); MainLoop;


Comment on Re: Cant use string(_) as array ref..!!
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (13)
As of 2015-07-30 11:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (271 votes), past polls