sub getDTSGlobal #gets DTS global variable values #returns scalar or list depending on calling context { my @vals; for (@_) { push @vals, $DTSGlobalVariables->Item($_)->{Value}; } return wantarray ? @vals : $vals[0]; } #### sub setDTSGlobal #sets DTS global variable values #repeats for as many name, value pairs as it receives { my %pairs = @_; for (keys %pairs) { $DTSGlobalVariables->Item($_)->{Value} = $pairs{$_}; } return; } #### sub getDTSSource #gets DTS source values #returns scalar or list depending on calling context { my @vals; for (@_) { push @vals, $DTSSource->Item($_)->{Value}; } return wantarray ? @vals : $vals[0]; } #### sub setDTSDestination #sets DTS destination values #repeats for as many name, value pairs as it receives { my %pairs = @_; for (keys %pairs) { $DTSDestination->Item($_)->{Value} = $pairs{$_}; } return; }