私はこれらの2行を見つけて、彼らが何をしているのかを調べようとしましたが、それがコードで何を意味するのかはまだ疑いがありません。私が言うコードは次のとおりです。
my $mapped_from = ($num_phones_in == 60)? = $1 : $2;
my $mapped_to = ($num_phones_out == 48)? = $2 : $3;
括弧の後に疑問符がある変数()が何をしているのかわかりません。そして、ドル記号(変数)があり、コロンで区切られた2つの数字が何を意味するのかわかりません。
コードの詳細を提供するために、このセクションでは次のファイルを使用します。
ah X /
au u aU
列にはそれぞれ60、48、39行があります。誰かが私に手がかりを与えることができたら、私は少し迷子になったので、本当に感謝します。
ベストアンサー1
my $mapped_from = ($num_phones_in == 60)? = $1 : $2;
構文エラーです。test ? val_true : val_false
はい「三項演算子」、お問い合わせインライン形式ですif-else
。 trueの場合はtest
このval_true
部分が計算され、test
falseの場合はこのval_false
部分が計算されます。疑問符は括弧には関係ありません。しかし、これは= $1
正しい表現ではありません。
=
追加のエントリがない場合は60($num_phones_in == 60)? $1 : $2;
であることを確認し、$num_phones_in
それに応じて$1
ORを返します$2
。
$1
および$2
(等) は、前の正規表現でキャプチャグループの内容を参照する変数です。そうすると、"afoob" =~ /a(.*)b/
その内容が$1
含まれますfoo
。バラよりperlvarの正規表現関連変数。