Perlでトップレベルに文が書けるのはシェルスクリプトと同じ
Perlでトップレベルに文が書けるのはシェルスクリプトと同じです。シェルスクリプトは、もともとCUIでインタラクティブに対話をするシェルのコマンドから始まって、バッチ処理を記述するために生まれました。そのため、いきなり文を書くことができます。このアイデアをPerlも採用しました。
いきなり文が書けるというのは、スクリプト言語の特徴で、関数定義を行う必要がありません。関数の定義の仕方を知らなくても、関数の使い方だけ覚えれば、すぐにプログラムを書けるというのが、スクリプト言語の良いところですね。
Perlは文をトップレベルで書ける
Perlは文をトップレベルで書けます。
print "Hello, World!\n";
シェルスクリプトはトップレベルで文を書ける
シェルスクリプトは文をトップレベルで書けます。
echo "Hello, World\n"
Perlがシェルスクリプトを参考にした、トップレベルに文が書けることの意義とは
Perlは、いくつかのプログラミング言語の文法を参考にしていますが、トップレベルにいきなり文が書けるという部分は、シェルスクリプトの文法を採用しました。
C言語の場合は、トップレベルが、関数定義です。これは、構文解析の観点から見た場合は、トップレベルと、その下のレベルで、構造が同じなのできれいです。
main(int argc, char *argv[]){ }
Perlとシェルと同じく、トップレベルに、文が書けます。これは、実際は関数なのですが、自動的に関数にしてくれているのです。つまり、これは、人が手軽にプログラムを書き始めるためのシンタックスシュガーなのです。
print "Hello, World!\n";
内部では、たとえば、以下のように補われています。(実際の実装ではなく、あくまでイメージです)
sub main { print "Hello, World!\n"; } main();
プログラムを書き始めるときに、ただ単に、すぐ書けるというだけなのですが、これが、すぐにちょっと書きたい。ワンライナーを書きたいという場合に、とても便利なのです。
Perlは手軽さという点で、先輩である、シェルスクリプトをこの点で、参考にしたのですね。