Initialize the machine Source SCM type The kind of repository to copy data from. source && $ui->source->repo_scheme; $is_current_value = $ui->{EditMode} = 1 unless empty $default; ]]> Destination SCM type The kind of repository to copy data to. dest && $ui->dest->repo_scheme; $is_current_value = $ui->{EditMode} = 1 unless empty $default; ]]> Next step What to do with all of the entered options. $default = "Save config file and run"; Save config file and run $ui->{Run} = 1; Save config file and exit Run without saving config file $ui->{Run} = 1; Config file name What filename to write the configuration file to. if ( ! empty $ui->{Filename} ) { $default = $ui->{Filename}; $is_current_value = 1; } else { $default = $ui->source->repo_id . "_to_" . $ui->dest->repo_id; } Config filename $ui->{SaveAsConfigFileName} = $answer; if ( -e $answer ) { die "Warning: '$answer' exists but is a directory!\n" if -d $answer; die "Warning: '$answer' exists but is not a regular file!\n" unless -f $answer; die "Warning: '$answer' exists but is not writable!\n" unless -w $answer; die "Warning: '$answer' already exists!\n"; } Run VCP with the options entered