Editing Global Variables from Inside Functions

Here is the solution I came up with using options. Thanks for the advice this worked well for my use case.

<?php
// This function sends the http request that purges my cdn cache.
function hw_cdn_purge() {

// My http request code goes here.
// After the request the purgeCdnResult variable is set to the status code of the http request.  I will demo that manually here.
$purgeCdnResult = 200;

// I then pass theis variable to an option in the database to keep it beyond this function.    
update_option( 'purge_response_status', $purgeCdnResult;
return;
}

// This next function checks the stored status code from the option and changes the displayed message.
function update_post_published_message( $messages ) {

// First we retrieve our variable from our stored option or set it to 1 if it is not found.
$purgeCdnResult = get_option( 'purge_response_status', 1 );

// Now we check our result and change the messages appropriately.
if ($purgeCdnResult == '200') {
$messages['post'][6] = sprintf(__('Post Published and CDN has been Purged.  Status Code '.$purgeCdnResult));
$messages['post'][1] = sprintf(__('Post Updated and CDN has been Purged.  Status Code '.$purgeCdnResult));
} else {
$messages['post'][6] = sprintf(__('Post Published - Error Purging Cache.   Status Code '.$purgeCdnResult));
$messages['post'][1] = sprintf(__('Post Updated - Error Purging Cache.  Status Code '.$purgeCdnResult));
}

// Finally we update the option to a non-successful value so that we don't get false positive results in the future.
update_option( 'purge_response_status', 1);
return $messages;
}

// Now we set the first function up to execute when the publish_post action is called
add_action( 'publish_post', 'hw_cdn_purge' );

// now we hookup the message changer function
add_filter( 'post_updated_messages', 'update_post_published_message');

?>`