参考になるページみつけたら貼っておく
dotnet / csharplang C# Language Design
参考になるページみつけたら貼っておく
dotnet / csharplang C# Language Design
#!/usr/bin/env perl
print "Hello, Perl\n";
最初なんであまり詰め込まず最低限の内容だけ
1行目は ./ファイル名 で実行した際に何で実行するかを識別するためのシェバンを書く
あとは、print関数で文字列渡して出力
print 関数は改行を自動で出力しないので必要に応じて改行は記載する
文のおわりはセミコロンをつける
#!/usr/bin/env perl
これを書きましょ
スクリプトファイルを実行する際に、何で実行するかを伝えるためのものとして記載
#!とかくことから、ハッシュ・バングが shebangになったという噂
昔は、 #!/usr/bin/perl と書くのが定番。今は#!/usr/bin/env perl
perl ファイル名 で実行した場合
perl コマンドを環境変数のPathの中から順に探していき、/usr/binディレクトリ内でperlを見つけて実行することになるが
./ファイル名 で実行すると何で実行すればよいかわからないので、ここでシェバンが登場
(chmod 755 ファイル名で実行権限をつけておくこと)
#!/usr/bin/perlなら /usr/binディレクトリのperlを実行
#!/user/bin/env perl だと
/usr/bin ディレクトリにあるenvコマンドで環境変数のPath内からperlコマンドを探すことになる
(perl ファイル名 と一緒)
#!/usr/bin/perl だと 環境が変わって存在しなかった時動かないので、#!/usr/bin/env perl で幅広く探して実行の方が汎用的という話
perl ファイル名でも ./ファイル名でも(#!/usr/bin/env perl)なら
環境変数のPATHを見に行く。
その時、plenvをいれているとPATHの先頭の方に、~/.plenv/shims がある
そこに perl というファイルがある
要するに、同じ名前の別のプログラムおいて、実行すべきバージョン情報を探して、
それをplenvが管理しているとこから探して実行するつなぎの処理をしているって感じ
このファイルを実行することでどのバージョンのPerlを実行するのか調べる
1〜4でバージョンが見つかれば、.plenv内にインストールされているperlから該当のバージョンを探して実行する形になる
という流れとのこと。。
初めてのPerlだと書籍としては、 #!/usr/bin/perl で統一されているが
1.4.2 このプログラムの中身はどうなっているのでしょうか? に #!/usr/bin/env perl の記載がありますね