Perl(Mac)で基本的な機能を実行しようとしていますが、常に同じエラーメッセージが表示されます。単純な「hello、world」の例のようなプログラムを実行することができました。それらは正常に動作します:
$ Perl -w hello.pl
Hello World
しかし、変数に値を割り当てるなど、さまざまなことを試みると、次のようなメッセージが表示されます。
$number = 13*2;
-bash: =: command not found
Listなどのコマンドは機能しているようですが、常にbashエラーが発生します。パスに関連している可能性があることを読みましたが、これを正確に確認する方法と、bashがここで何をしているのかわかりません。
あなたはbashとPerlを混同しているようです。 Macのデフォルトのシェルはbashであり、Perlと同じ方法で、または同じ構文を使用して変数を設定することはできません。 Perlを使用して「$ number」という変数を「13 * 2」の結果に設定するには、bashCLIで次のようにします。
my-macbook:~ $ Perl -e '$number = 13 * 2; print $number, "\n";'
26
Bash自体で同じことを行うには、次のことができます。
my-macbook:~ $ number=$(expr 13 \* 2); echo $number
26
ターミナルで実行されているbashシェルはbash構文を想定しているため、ターミナルのbashシェルに生のPerl構文を挿入することはできません。 Bashはそれ自体がホールランゲージであり、Perlとは互換性がありません。 bashの代わりにPerlを使用してコードを実行することをbashに伝えるには、Perlの-e
フラグ(executeのeのように)を使用してから、Perlコードを一重引用符で囲みます。
bash
(ターミナルエミュレーター内で実行されているシェル)で基本的な計算を行うには、次のいずれかの構成を使用します。 $
プレフィックスは、変数の割り当てではなく、変数の値を取得するときにbash
の変数で使用されます。
my_product=$(( 13 * 2 ))
my_product=$[ 13 * 2 ]
echo $my_product
すでに述べたように、Perl
はbash
ではないため、適切な構文と適切な言語を使用する必要があります。