my %data = ( DATA => { DIR => "/prod" }, LOGS => { DIR => "/prod/logs" }, SITE1 => { DIR => "/prod/data1", FILE => "/prod/data1/LSTD.DAT" }, SITE2 => { DIR => "/prod/data2", FILE => "/prod/data2/LSTD.DAT" }, LOG1 => { FILE => "/prod/logs/stdaudit01_3289.log_1" }, LOG2 => { FILE => "/prod/logs/stdaudit02_8750.log_1" } ); # assign $data{$_}{'COPY_D'} and $data{$_}{'COPY_F'} Where needed for ( keys (%data) ) { if ( $data{$_}{'DIR'} ) { $data{$_}{'COPY_D'} = join '', $ARCHIVE_DIR, $data{$_}{'DIR'} } if ( $data{$_}{'FILE'} ) { $data{$_}{'COPY_F'} = join '', $ARCHIVE_DIR, $data{$_}{'FILE'} } }