in reply to Re^2: Trying to avoid 9 conditionals
in thread Trying to avoid 9 conditionals

The intent of %versionEdits was that it would only contain the edits that you want to be reported. I don't know how you are obtaining the version change information that you were using to populate $UpdatedMinor etc so I can't advise on how best to populate %versionEdits. If you have an original version number and a current version number you could do something like:

my @valueNames = qw/major minor revision/; my @versions = ( [qw(aht 8.3.6 9.4.0)], [qw(dog 3.3.1 3.3.2)], ); for my $version (@versions) { my ($app, $oldStr, $newStr) = @$version; my %old; my %new; @old{@valueNames} = split /\./, $oldStr; @new{@valueNames} = split /\./, $newStr; for my $name (@valueNames) { $oldVersions{$app}{$name} = $old{$name}; next if $new{$name} == $old{$name}; $versionEdits{$app}{$name} = $new{$name}; } }

Perl reduces RSI - it saves typing