in reply to Shorten the list of computation
It would still be better if you first built up an hash with hard references and then iterate through the command list{ no strict 'refs'; my @incs = qw( index chapter index pages names ); for my $i (@incs) { ${"total_$i"} += $$i; } }
This does not violate use strict (assuming that you have declared all your variables before);my %incs = (index => [ \$index, \$total_index ], chapter => [ \$chapter, \$total_chapter ], pages => [ \$pages, \$total_pages ], names => [ \$names, \$total_names ] ); my @incs = qw( index chapter index pages names ); ${$incs{$_}->[1]} += ${$incs{$_}->[0]} for (@incs);
|
|---|