Go のバイナリを Perl スクリプトとしても扱う
環境は 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 -x ./main
Hello, Perl World!!
ワオ!!
続きを読むvim で esc の代りに ctrl+c を使う!
今日 @osamingo さんに教えてもらいました!
esc の代わりに ctrl + c でモードを終了できる!便利!
追記:
escとctrl-cは完全には同じではないので、気をつける必要はありそうです。https://t.co/A7hxfBsHoX
— Pocke(ぽっけ) SW-1309-2807-5790 (@p_ck_) May 24, 2019
ctrl + [ が厳密には esc と同じです!社で隣りにいる @__syumai さんからも指摘をもらいました!
最高のエンジニアになる方法
ソースは tumblr 公式の engineering tumblr より。
engineering.tumblr.com簡潔にとても良いことが書かれてたので、これを自分なりに翻訳する。
エンジニアだけじゃなくて世の中の社会人にも言えそうなことだと思う。
ミリ秒で sleep する Perl ワンライナー
tl;dr
shell script 書く時に各 OS 共通でミリ秒を書くのにまあまあ苦戦する時はこのワンライナーを使うと簡単っぽい!
perl -MTime::HiRes=sleep -e sleep -e 0.05
Time::HiRes は Perl のコアモジュールとして結構前のバージョンから含まれてるらしい。