func Read(poc string) (string, bool, error) {
	if len(poc) == 0 {
		return poc, false, nil
	}
	path := poc
	if path[0] == '~' {
		var err error
		path, err = homedir.Expand(path)
		if err != nil {
			return path, true, err
		}
	}
	if _, err := os.Stat(path); err == nil {
		contents, err := ioutil.ReadFile(path)
		if err != nil {
			return string(contents), true, err
		}
		return string(contents), true, nil
	}
	return poc, false, nil
}
If the argument is a path, Read loads it and returns the contents,
otherwise the argument is assumed to be the desired contents and is simply
returned.

The boolean second return value can be called `wasPath` - it indicates if a
path was detected and a file loaded.
package pathorcontents
import (
	"io/ioutil"
	"os"
	"github.com/mitchellh/go-homedir"
)