コマンドラインでPerlを使うぞ

MS-DOSってなんだっけ?

前へ 次へ トップに戻る

DOS窓を開く

さて、perlのインストールができたら、「スタートメニュー」→「プログラム」→「MS-DOS プロンプト」で、MS-DOSウィンドウを開いてみましょう。
(ちなみにウチの環境だと、何故かこの窓が開くまでに30秒くらいかかります(謎))

C:\WINDOWS>



MS-DOSの使い方についてはさすがに省略しますが、この「C:\WINDOWS>」部分を、コマンドプロンプトと言い、今いるディレクトリ(フォルダ)を示しながら、下線の点滅部分に「なんかコマンド入れてくれー」という命令待ちの状態であることを表しています。

perl を見る

それでは早速、perlを動かしてみましょう。(早い?)
コマンドプロンプトの部分に、「perl -v」と入れます。

C:\WINDOWS>perl -v

と入れてEnterキーを押すと・・・

C:\WINDOWS>perl -v

This is perl, version 5.003_07

Copyright 1987-1996, Larry Wall

+ suidperl security patch
Win32 port Copyright (c) 1995-1996 Microsoft Corporation.
All rights reserved.
Developed by ActiveWare Internet Corp., http://www.ActiveWare.com

Perl for Win32 Build 316 - Built 09:44:44 Mar 13 1998

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.0 source kit.


C:\WINDOWS>

と、こんなのが出ればオッケーです。
これはWindowsで言えば「ヘルプ」→「perlについて」みたいなもので、あなたがインストールしたperlのパージョン情報です。
特に注意深く読む必要はありませんが、確か@niftyに「perlのバージョンは5です」と書いてあったので、ここで表示されたバージョンが"5.xx"であれば、かなり互換性があるのだろうなーと、喜んでおきましょう。(笑)

perlが見れない?

C:\WINDOWS>perl -v
コマンドまたはファイル名が違います.

C:\WINDOWS>

こーんなのが出ちゃった人は、コマンドまたはファイル名が違います(。_゜)ノどてっ

あーいや、普通にインストールすると自動でPerlまでのパスが設定されるはずなんですが、インストール時にその項目をパスしたか、インストール後に再起動してないと、設定が反映されないのでこうなります。
再起動するか、AUTOEXEC.BATを書き換えるという手もありますが、ここでは手っ取り早く、インストール時に覚えたperlへのパスで直接、

C:\WINDOWS>C:\Perl\bin\perl -v

こんな感じで行きましょう。
ん?「perlへのパス」って?どっかで聞いたような・・・(?_?)

1行コマンドでPerlを実行

んではいよいよ、perlのコマンドを実行してみましょう。
一行コマンドの実行には、「-e」に続いてコマンドを「""」でくくって渡します。
渡すコマンドは「print 'Hello'」とでもいきましょう。

C:\WINDOWS>perl -e "print 'Hello'"
Hello

C:\WINDOWS>

はい出来上がりっと。これであなたも立派なパーラー(Perler)です。(^_^)v

スクリプトを書いてPerlを実行

しかし、MS-DOSのコマンドラインってのはなんて面倒なんでしょ。
途中の1文字直そうとしただけで後ろの文字列全部消えるし・・・grepsedならともかく、これで掲示板スクリプトを書きあげようってのはちょと無理でしょう。
そこで、コマンド部分をテキストファイルにして、Perlに渡してみましょう。

print "Hello";

こんな1行をエディタで書いたら、「hello.pl」などのファイル名で保存して、

C:\WINDOWS>perl hello.pl
hello

C:\WINDOWS>

この方が簡単ですね。ていうか、perlって最初からそういう使い方を想定して作られてるようなもんスから・・・(^_^)v
これで、複雑なコマンドでも、スクリプトとしてファイルに記述することで、簡単にPerlに渡すことができるわけです。

エラーメッセージも見ておこう

何事もうまくいくばかりが人生じゃない。この辺の初期の段階でエラーに出会っておいた方が、イザって時に焦らずに済むでしょう。(ほんとか?)

例えば、

print "Hello;

こんな風に、「"」(ダブルクォーテーション)をひとつ忘れてみると・・・

C:\WINDOWS>perl hello.pl
Can't find string terminator '"' anywhere before EOF at hello.pl line 1.
C:\WINDOWS>

と、このように、ちゃんと何処が悪いかを教えてくれるのです。
(英語の苦手な人は、フリーの翻訳ソフトなどを併用しましょう)

そう、CGIをやるのに、なんでWindowsでは扱いにくいPerlを単体で使うのか?という理由がここにあるのです。
ブラウザから読みに行くCGIでは、文法エラーの時はただ「サーバーエラー」としか出ないものが、perlスクリプトとして使えば、どんなエラーかがすぐに判り、はるかに上達が早いのです。

しかし、MS-DOSのコマンドラインってのはやっぱ面倒ですね。
そこで、これらの作業をWindows上だけで、違和感なく操作できる優れものツールを次のページで紹介します。


【ヒント1】これらのコマンドは、「スタート」→「ファイル名を指定して実行」からも実行できます。但し、「MS-DOSプロンプトのプロパティ」で「プログラム終了時にウィンドウを閉じる」にしてあると、結果がすぐに閉じちゃって見えません(笑)

【ヒント2】*.pl」などの拡張子をperl.exeに関連付けしておくと、エクスプローラなどからダブルクリック一発でスクリプトを実行できるようになります。但し、エディタなどで「編集する」のとどちらを優先させるかは迷うところ。


前へ 次へ トップに戻る

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル