Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^3: How to declare variables per loop

by tospo (Hermit)
on Oct 11, 2011 at 15:51 UTC ( #930848=note: print w/ replies, xml ) Need Help??


in reply to Re^2: How to declare variables per loop
in thread How to declare variables per loop

except that you do write down all the file names when you assign them to variables. Much better to construct the names of the files on the fly. For example you could do something like

my $storage_dir = "C:/Stuff/"; foreach my $category qw( abc def ghi ) { foreach my $subcategory qw( this that ){ foreach my $year ( 1..3) { my $file = sprintf("%s_%s_02d.csv", $category, $subcategory,$yea +r); my $path = $storage_dir.$file; # now do something with the file, i.e. generate your plot comman +d do_plot( $path ); } } } sub do_plot { my $path - shift; ### do the actual plotting here }
Now you don't have to type all the combinations of categories, years etc but let the script handle that. An alternative approach would be to change the way you store the data by putting it all into a single file and starting each block of data with a string that gives yuo all those categories, as in:
#abc_this_01 -- data goes here --- #def_this_01 -- more data --- etc
Now your script doesn't need to kow anything about the categories and takes whatever is in your file, which presumably is the output of another script.


Comment on Re^3: How to declare variables per loop
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (12)
As of 2014-07-10 09:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (203 votes), past polls