プロが教える店舗&オフィスのセキュリティ対策術

CGIの勉強をしているのですがネットからCGIのサンプルソースを持ってきて調べていたら
よくわからない構文が出てきたのでどういう意味か教えてほしいです。
sub RequireFile
{
my $customfile="$CUSTOM_DIR/$_[0]";
require $customfile,return if -e $customfile;
my $fname="$INCLUDE_DIR/$_[0]";
OutError('ファイルが見つかりません - '.$fname) unless -e $fname;
require $fname;
}
このサブルーチンの記述の4行目のreturnの前のカンマはどういう意味がありますか?

A 回答 (2件)

コンマ演算子です。

この場合は、 ; と似ていますが、
require $customfile; return if -e $customfile;
だと、if修飾子は return だけに掛かり、require は常に実行されますが、
require $customfile, return if -e $customfile;
だと、
require $customfile, return
で1つの式になるので、if修飾子はこの全体に掛かり、ifが真の場合だけrequire と return が実行されます。
    • good
    • 1
この回答へのお礼

解決しました

回答ありがとうございます
理解できました
perlは1行で書いてしまう書き方が多いけど
理解できたらシンプルで良いですね^_^

お礼日時:2022/10/30 08:24

えええーっと


https://www.loose-info.com/main/memolist/perl/op …
ここので理解できませんか
    • good
    • 0
この回答へのお礼

ありがとう

回答ありがとうございます
理解できました
コンマは括弧の中にしか出てこないという思い込みがありました

お礼日時:2022/10/30 08:15

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