環境は macOS 10.14.4 で go1.12.5 です。 まずは次のコードを読んでみましょう package main import ( "fmt" "io/ioutil" ) const script = ` #!perl print "Hello, Perl World!!"; __END__ ` func init() { ioutil.Discard.Write([]byte(script)) } func main() { fmt.Println("This is Go world!!") } これをビルドして実行してみます go build -o main main.go こうすると main という実行用のバイナリができますね。 通常通り実行してみましょう。 $ ./main This is Go world!! 今度は Perl で実行してみましょう $ perl