Perl

提供:yonewiki

言語と開発環境へ戻る。  

Perl概要

_Perlはラリー・ウォールさんによって開発されたプログラミング言語で、 
Unix向けに作成されたものです。Windowsプラットフォームでも動作するようにActiveStates社が、  
Perl言語環境を提供している。

バージョン情報を確認すると、
Copyright 1987-2012, Larry Wall
という行があるのがわかる。ここの名前を刻めるというのは、まぁ凄いわな。

バージョン情報の確認方法は
ActivePerlをインストールしたWindows PCの場合はコマンドプロンプトで

   Perl -v

とすると確認が可能。

サーバ側で確認する場合は

   #!/usr/bin/perl -v

と記述したファイル(拡張子は.pl か .cgiくらいがおすすめ)をアップロードし、
アップロードしたファイルに実行権限と読み取り権限を付与し、http://xxxxx/xxx.pl
としてアクセスすることで、ブラウザ上でPerlのバージョンが確認できます。

●管理者のxreaレンタルサーバでのPerlバージョン情報

   This is perl, v5.8.8 built for i686-linux
   
   Copyright 1987-2006, Larry Wall
   
   Perl may be copied only under the terms of either the Artistic License or the
   GNU General Public License, which may be found in the Perl 5 source kit.
   
   Complete documentation for Perl, including FAQ lists, should be found on
   this system using "man perl" or "perldoc perl".  If you have access to the
   Internet, point your browser at http://www.perl.org/, the Perl Home Page.

●管理者のPC(Windows7 64bit)でのPerlバージョン情報

   This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x64-multi-thread
   (with 1 registered patch, see perl -V for more detail)
   
   Copyright 1987-2012, Larry Wall
   
   Binary build 1603 [296746] provided by ActiveState http://www.ActiveState.com
   Built Mar 13 2013 13:31:10
   
   Perl may be copied only under the terms of either the Artistic License or the
   GNU General Public License, which may be found in the Perl 5 source kit.
   
   Complete documentation for Perl, including FAQ lists, should be found on
   this system using "man perl" or "perldoc perl".  If you have access to the
   Internet, point your browser at http://www.perl.org/, the Perl Home Page.

上記のコードに関する詳細は
Perlの1行目に関する情報
Perl:1行目
ファイルのアップロードと実行権限に関する情報を参照して下さい。


多くの人は、
自分のPCでの動作確認にはActiveState社のActivePerlで簡単に確認し、
Unix系プラットフォームのレンタルサーバにPerlスクリプトをアップロードして使うことになります。
自分ではプログラミングをしない人は直接レンタルサーバに設置することになります。

あまり知られていませんが、ActiveState社はPerlやその他のプログラム言語でのプログラミングを支援する
統合開発環境KOMODO IDEを有償で提供しています。

Perl特徴

インタプリタ言語

Perlはインタプリタ言語として利用されることが主になります。
プログラムを記述したファイルそのものを実行し、その都度、記述された内容に基づいて処理がされます。
このような方式をインタプリタ言語と呼びます。インタプリタ言語の厳密な解釈については、他者による言及に任せます。


その他の言語であるCやC++はコンパイルという処理を行い、実行専用のファイルを作成し、ソースコード自体は
プログラム利用時には必要としません。実際の現場では実行ファイルが複数のファイルを必要としている場合が多く、
コンパイルの後にリンカーと呼ばれる処理で、繋ぎ合わせる処理もあります。複数のファイルに分かれたまま、動作する
ダイナミックリンク(動的リンク)を必要とする場合はローダと呼ばれる処理が必要になります。
長々と書きましたがPerlには、コンパイル方式はあまり関係ありません。
しかしながらPerlもコンパイル方式を使うことができるのも事実で、
ごく一部で使われています。

CGIとして

インターネットの初期の頃にWebSiteが見る人との双方向性を創造するものとして注目された技術がCGI Common Gateway Interfaceです。
意味不明な名称に思えますが、htmlがみるだけの技術だったのに対して、CGIは見る人がCGIを介することで、サーバ側でプログラムが動作し、
そのプログラムの内容にしたがって、サーバ上のデータに変更を加え、htmlに表示される情報が更新されていくような技術の総称でした。
特にPerlは文字列処理に強い側面がある上、インタプリタ言語としての形をとっていたので、各サーバ提供側はPerlを標準装備して、ユーザにHomePageを
作る環境を提供したのが、Perlが広く発展するきっかけになったと思います。

今ではWindowsアプリも組めたり、コンパイル方式も使えたりと本来の強みとは違う分野でも活用できるという面白い言語になっています。
後にPHPがわかりやすさを売りにかなりの勢力を伸ばしてきましたが、Perlはわかりにくさの根底にあるコンピュータとのより親密なやりとりをする
柔軟さも備えており、動作の速さを維持してきたというところもあります。根強い人気は動作の速さにあると思います。

言語は使いたい人が使いたいものを選べばいいし、 それぞれの言語においてスペシャリストが生まれ、その言語で書かれたプログラムが普及すれば、その言語もまた広まるというそういう仕組みです。
実際の日本語や英語といった言語も、その言語で話す人が増えれば、習う人も増え、そして言語にスラングが生まれ改良されていくのと似ていると思います。
そういう意味ではPerlは今の時代も多くの人に使われる言語となっています。PHP、Ruby、python、このあたりの言語がPerlと類似した特徴をもつ
言語です。C++やJavaやBasicは、Windowsアプリケーションと共に発展してきたところもあるので、また違った人気を得ていると思います。
金になる言語の代表格は今、AndroidとAppleシリーズ(iPad、iPhoneアプリ)そして Unix、Windows、iMacでしょう。このデバイスを愛する人たちが
使う言語が今も残っているということになります。言語というものは、結局のところCPUに電気信号のON、OFFの羅列を送信して制御するためのものです。
沢山の言語を作り出すことも可能だし、すたれていく言語が発生するのも事実です。ただ、一度でも高い人気を獲得した言語はそう簡単にはなくなりません。
Perlもきっと、あと何十年も何百年も存在し続けるような気がします。

Perlプログラミング

基礎

1.Perl:1行目
2.Perl:日本語対応

応用

1.Perl:exe化

 

言語と開発環境へ戻る。