my $editcampaign = $cliObj->editcampaign( campaign => "Fake_Test_Campaign", folder => "Big_Fake_Directory_For_testing_only", dist => "Big_Fake_Directory_For_testing_only test_data_source", html => "Big_Fake_Directory_For_testing_only fake_file.htm", aol => "Big_Fake_Directory_For_testing_only fake_file.aol", text => "Big_Fake_Directory_For_testing_only fake_file.txt", autosense => 1, ); #### sub editcampaign { my $self = shift; my( $data, $ret ); ( @_ ) ? ( %$data ) = @_ : return; return if ( ( !$data->{'campaign'} ) or ( scalar( keys %$data ) < 1 ) ) ; push @$ret, qq|-locale $data->{'locale'}| if ( $data->{'locale'} ); push @$ret, qq|-folder $data->{'folder'}| if ( $data->{'folder'} ); push @$ret, qq|-ackurl $data->{'ackurl'}| if ( $data->{'ackurl'} ); push @$ret, qq|-followup $data->{'followup'}| if ( $data->{'followup'} ); push @$ret, qq|-test $data->{'test'}| if ( $data->{'test'} ); push @$ret, qq|-optout $data->{'optout'}| if ( $data->{'optout'} ); push @$ret, qq|-dist $data->{'dist'}| if ( ( $data->{'dist'} ) and ( $data->{'dist'} =~ /(.*) (.*)/ ) ); push @$ret, qq|-html $data->{'html'}| if ( ( $data->{'html'} ) and ( $data->{'html'} =~ /(.*) (.*)/ ) ); push @$ret, qq|-text $data->{'text'}| if ( ( $data->{'text'} ) and ( $data->{'text'} =~ /(.*) (.*)/ ) ); push @$ret, qq|-aol $data->{'aol'}| if ( ( $data->{'aol'} ) and ( $data->{'aol'} =~ /(.*) (.*)/ ) ); push @$ret, qq|-attach $data->{'attach'}| if ( ( $data->{'attach'} ) and ( $data->{'attach'} =~ /(.*) (.*)/ ) ); push @$ret, qq|-sentlog $data->{'sentlog'}| if ( ( $data->{'sentlog'} ) and ( $data->{'sentlog'} =~ /(.*) (.*)/ ) ); push @$ret, qq|-ackdoc $data->{'ackdoc'}| if ( ( $data->{'ackdoc'} ) and ( $data->{'ackdoc'} =~ /(.*) (.*)/ ) ); push @$ret, qq|-responsedb $data->{'responsedb'}| if ( ( $data->{'responsedb'} ) and ( $data->{'responsedb'} =~ /(.*) (.*)/ ) ); push @$ret, qq|-failedlog $data->{'failedlog'}| if ( ( $data->{'failedlog'} ) and ( $data->{'failedlog'} =~ /(.*) (.*)/ ) ); push @$ret, qq|-clicktrack $data->{'clicktrack'}| if ( ( $data->{'clicktrack'} ) and ( $data->{'clicktrack'} =~ /(.*) (.*)/ ) ); push @$ret, qq|-clickthru $data->{'clickthru'}| if ( ( $data->{'clickthru'} ) and ( $data->{'clickthru'} =~ /(.*) (.*) (.*) (.*)/ ) ); push @$ret, qq|-skipdup ON| if ( $data->{'locale'} ); push @$ret, qq|-autosense ON| if ( $data->{'autosense'} ); push @$ret, qq|-opensense ON| if ( $data->{'opensense'} ); push @$ret, qq|-useaccountwide ON| if ( $data->{'useaccountwide'} ); push @$ret, qq|-conversiontrack ON| if ( $data->{'conversiontrack'} ); push @$ret, qq|-htmltoaol ON| if ( $data->{'htmltoaol'} ); push @$ret, qq|-autosenseaol ON| if ( ( $data->{'autosenseaol'} ) and ( ( $data->{'autosense'} ) or ( $data->{'opensense'} ) ) ) ; push @$ret, $data->{'campaign'}; $ret = join " ", @$ret; # Log action $self->{'LOGGER'}->log( level => 'notice', message => "campaign $ret\n" ); #execute it ( $ret ) = $self->executeCommand( "campaign $ret" ); return 1; }