MacでPerlを使用するBashのエラーメッセージ

MacでPerlを使用するBashのエラーメッセージ

Perl(Mac)で基本機能を実行しようとすると、常に同じエラーメッセージが表示されます。私は単純な「hello、world」の例のようなものを実行しました。彼らはとてもうまくいきます:

$ perl -w hello.pl
Hello World

ただし、変数に値を割り当てるなど、他の操作を試みると、次のメッセージが表示されます。

$number = 13*2;
-bash: =: command not found

listのようなコマンドはうまくいくようですが、bashエラーが発生し続けます。私はそれがパスに関連している可能性があることを読んでいますが、これを正確に確認する方法とbashがここで何をしているのかわかりません。

ベストアンサー1

bashとperlを混同しているようです。 Macのデフォルトのシェルはbashであり、これはPerlと同じ方法や同じ構文で変数を設定することはできません。 Perlを使用してbash CLIで「13 * 2」の結果として「$ number」という変数を設定するには、次のようにします。

my-macbook:~ $ perl -e '$number = 13 * 2; print $number, "\n";'
26

Bash自体でも同じことを行うには、次のようにします。

my-macbook:~ $ number=$(expr 13 \* 2); echo $number
26

端末で実行される bash シェルには bash 構文が必要なため、生の perl 構文を端末の bash シェルに入れることはできません。 Bashはそれ自体で完全な言語であり、Perlと互換性がありません。特定のコードを実行するために bash の代わりに perl を使用したいと bash に通知するには、Perl の-eフラグ (たとえば、実行用の e) を使用してから Perl コードを一重引用符で囲むことができます。

おすすめ記事