電子書籍の厳選無料作品が豊富!

こんばんは。
最近perl言語を授業で習い始めたので、家でも出来るようにとcygwinをダウンロードして使い始めたのですが、terapadに入力したプログラムを呼び出すことができません。

学校でやったときは、ホームディレクトリにcheminfというファイルを作り、その中にterapadで入力したファイルを入れていました。
おそらくファイルを置く場所に関係があると思うのですが、調べはしたもののさっぱり分からず…^^;
また、terapadのプログラムには#!/usr/bin/perlって打ち込んでいるのですが、いったいこれがなんなのかも気になります。

相当初歩的な質問だとは思いますが、どうぞよろしくお願いします。

A 回答 (3件)

ですから、Cygwin動作中は ホームディレクトリ(bashを起動してログインしたディレクトリ)は、 Cygwin表記で /home/ユーザー名, Windows表記で Cygwinのインストールしたディレクトリ\home\ユーザー名です。



「デスクトップとか、マイドキュメントとかではありません」

> **@room ~
> $ ls
>

これがホームディレクトリ(~)でlsを実行した結果です。何もありません。
(正確には、.で始まるファイルやディレクトリがあるかもしれませんが)

> $ cd cheminf
ホームディレクトリの下になにも無いのですから、移動などできません。よって
> bash: cd: cheminf: No such file or directory
というエラーになります。


簡単な対処は、デスクトップにあるcheminfディレクトリをホームディレクトリの下に移動してくることです。
    • good
    • 0
この回答へのお礼

正直分からないことだらけなので、基礎から本でも探して勉強してみます。どうもありがとうございました。

お礼日時:2011/05/23 00:44

WindowsでPerlやるなら、


ActivePerlかStrawbery Perlをインストールした方が
簡単で分かりやすいですよ。

一行目はshebangといって、
「このコードを/usr/binディレクトリにあるperlコマンドで実行します」という宣言です。

以下余談。
perlコマンドの場所が/usr/local/binディレクトリの場合もありますので、
差異を吸収するために #!/usr/bin/env perl としている人も多いのですが、
稀に「envコマンドが入っていない」という落とし穴も…
ちなみにWindowsでは拡張子で関連付けられるので、私はシバンを省略してます。

この回答への補足

Active perlはインストールしています。
そのコードはシェバングっていうんですね!詳しい説明ありがとうございます!

補足日時:2011/05/19 21:49
    • good
    • 0

・ファイルをどこに置いて


・どんなコマンドラインで実行したか
・そうしたら、どんな結果になったか。エラーなら具体的にどんなメッセージが表示されたのか

というあたりが無いと判断できません。

置く場所は、大抵は関係ありません。(外部のファイルを参照するなどで、制限があるケースもありますが)
置いた場所にあるスクリプトにアクセスできればいいはずです。

CygwinとWIndowsとではディレクトリ構造が違います。
Cygwinの / (ルート) はWindowsでのインストールディレクトリ(標準では C:\cygwin )になります。
ホームディレクトリは /home/ユーザー名 (Windowsの C:\cygwin\home\ユーザー名 )になります。
TerapadはWindowsのアプリなので、Windowsのディレクトリ名を使います。それをCygwinから呼びだすにはCygwin のパスで指定する必要があります。



#!については「シェバング」で検索してみてください。

この回答への補足

入力は
**@room ~
$ ls

**@room ~
$ cd cheminf
bash: cd: cheminf: No such file or directory

と入力しました。
cheminfのファイルはデスクトップに置いています。perlの動作のファイルはCドライブの中に全部あるみたいです。
lsの時点でファイルが認識されていないみたいなのですが、学校でやったときはそのままやっても適応されていたので、何が違うのかさっぱりです…。

補足日時:2011/05/19 21:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!