เชเช• Red Hat เช•เชฐเซเชฎเชšเชพเชฐเซ€เช เช—เซ‹เชฒเซเชธ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเชฟเชธเซเชŸเชฎ เชฐเชœเซ‚ เช•เชฐเซ€. GNU เชฎเซ‡เช• 4.2 เชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

เชฐเชฟเชšเชพเชฐเซเชก เชกเชฌเชฒเซเชฏเซเชเชฎ เชœเซ‹เชจเซเชธ, เชฒเซ‡เช–เช• เช…เชจเช‚เชค, Red Hat เช–เชพเชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชฐเชœเซ‚เช†เชค เช•เชฐเซ€ เชจเชตเซ€ เชฌเชฟเชฒเซเชก เช‰เชชเชฏเซ‹เช—เชฟเชคเชพ เช—เซ‹เชฒ, เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹เชจเซ€ เชเช•เช‚เชฆเชฐ เชธเชฐเชณเชคเชพ เช…เชจเซ‡ เชธเชฎเชœเชฃ เชœเชพเชณเชตเซ€ เชฐเชพเช–เซ€เชจเซ‡ เชฎเซ‡เช•เชจเซ€ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชฎเชพเช‚ เช–เชพเชฎเซ€เช“ เช…เชจเซ‡ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซ‹ เชนเซ‡เชคเซ เช›เซ‡. เชฎเซ‡เช• เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€ 1976 เชฎเชพเช‚ เชกเชฟเชเชพเช‡เชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชธเช‚เช–เซเชฏเชพเชฌเช‚เชง เชตเซˆเชšเชพเชฐเชฟเช• เช–เชพเชฎเซ€เช“ เช›เซ‡ เชœเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เช–เซเชฏเชพเชฒเชจเซ‡ เชฌเชฆเชฒเซเชฏเชพ เชตเชฟเชจเชพ เช† เช–เชพเชฎเซ€เช“เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เชงเชฐเชพเชตเซ‡ เช›เซ‡.
เชฒเช•เซเชทเซเชฏเซ‹ เชธเซเชคเซเชฐเซ‹เชค เช•เซ‹เชก เชฆเซเชตเชพเชฐเชพ เชตเชฟเชคเชฐเชฟเชค GPLv2+ เชนเซ‡เช เชณ เชฒเชพเช‡เชธเชจเซเชธ.

เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเชตเชพเชจเซ€ เช›เซ‡:

  • เชฎเชพเชคเซเชฐ เชเช• เช…เชตเชฒเช‚เชฌเชจ เชฐเชฟเชเซ‹เชฒเซเชฏเซเชถเชจ เชฏเซเช•เซเชคเชฟ เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชฅเชจ - "เชœเซ‹ เชฒเช•เซเชทเซเชฏ เชซเชพเช‡เชฒ เช–เซ‚เชŸเซ‡ เช›เซ‡ เช…เชฅเชตเชพ เชเช• เชจเชฟเชฐเซเชญเชฐเชคเชพ เช•เชฐเชคเชพเช‚ เชœเซ‚เชจเซ€ เชนเซ‹เชฏ เชคเซ‹ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเซ‚เชšเชจเชพ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡." เชงเซเชฏเซ‡เชฏเซ‹ เช…เชจเซเชฏ เชฏเซเช•เซเชคเชฟเช“เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เชงเชฐเชพเชตเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ URL เชจเซ€ เชนเชพเชœเชฐเซ€เชจเซ€ เชคเชชเชพเชธ เช•เชฐเชตเซ€, เช•เซ‹เชˆเชชเชฃ เชซเชพเช‡เชฒ เชธเชพเชฅเซ‡ เชซเซ‡เชฐเชซเชพเชฐเชจเชพ เชธเชฎเชฏเชจเซ€ เชคเซเชฒเชจเชพ เช•เชฐเชตเซ€, เชชเซ‡เช•เซ‡เชœ เชฌเชฟเชฒเซเชก เช‡เชจเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเซเช‚ เช•เซ‹เชœเซ€, เชšเซ‡เช•เชธเชฎเซเชธเชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€, เชŸเซ‡เชธเซเชŸเชจเชพ เชชเชธเช‚เชฆเช—เซ€เชฏเซเช•เซเชค เช…เชตเช—เชฃเชตเชพ เชธเชพเชฅเซ‡ เชŸเซ‡เชธเซเชŸ เช•เซ‡เชธ เชšเชพเชฒเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡.
  • เชฌเชฟเชฒเซเชก เชŸเชพเชฐเซเช—เซ‡เชŸเซเชธเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชฎเซ‡เช• เชซเชพเช‡เชฒเซ‹ เช…เชจเซ‡ เชจเชฟเชฏเชฎเชจเชพ เชจเชพเชฎเซ‹เชจเซ‡ เช…เชฒเช— เช•เชฐเชคเซเช‚ เชจเชฅเซ€ เช…เชจเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชจเชฟเชฏเชฎ เชšเชฒเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เชคเซ‡ เชœเซ‡ เชซเชพเช‡เชฒ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชฆเชพเชตเซ‹ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เช–เชฐเซ‡เช–เชฐ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชคเซ‡เชจเซ€ เช•เซ‹เชˆ เชšเช•เชพเชธเชฃเซ€ เชฅเชคเซ€ เชจเชฅเซ€. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ "เชŸเซ‡เชธเซเชŸ" เชจเชพเชฎเชจเซ‹ เชจเชฟเชฏเชฎ เช›เซ‡ เชœเซ‡ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชธเชพเชฅเซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹ เชšเชฒเชพเชตเซ‡ เช›เซ‡, เชคเซ‹ "เชŸเซ‡เชธเซเชŸ" เชจเชพเชฎเชจเซ€ เชซเชพเช‡เชฒ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชคเซ‹ เชชเช›เซ€ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชนเชตเซ‡ เชฌเซ‹เชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชจเชนเซ€เช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชฎเซ‡เช• เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชถเซ‡ เช•เซ‡ เชฒเช•เซเชทเซเชฏ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เช•เซ‹เชˆเชชเชฃ เช•เซเชฐเชฟเชฏเชพ (เชฎเซ‡เช•เชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ ". PHONY: เชชเชฐเซ€เช•เซเชทเชฃ" เชจเชฟเชฐเซเชฆเซ‡เชถเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹). เชฒเช•เซเชทเซเชฏเซ‹ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชซเชพเช‡เชฒเซ‹ เช…เชจเซ‡ เชจเชฟเชฏเชฎเชจเชพ เชจเชพเชฎเซ‹เชจเซ‡ เช…เชฒเช— เชชเชพเชกเซ‡ เช›เซ‡.

    เชเช• Red Hat เช•เชฐเซเชฎเชšเชพเชฐเซ€เช เช—เซ‹เชฒเซเชธ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเชฟเชธเซเชŸเชฎ เชฐเชœเซ‚ เช•เชฐเซ€. GNU เชฎเซ‡เช• 4.2 เชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

  • เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเซ‚เชšเชจเชพเช“ เชฎเชพเชŸเซ‡ เชฎเชพเชคเซเชฐ เชเช• เชชเชฐเชฟเชฎเชพเชฃ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพ.

    เชเช• Red Hat เช•เชฐเซเชฎเชšเชพเชฐเซ€เช เช—เซ‹เชฒเซเชธ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเชฟเชธเซเชŸเชฎ เชฐเชœเซ‚ เช•เชฐเซ€. GNU เชฎเซ‡เช• 4.2 เชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

    เชฒเช•เซเชทเซเชฏเซ‹ เชคเชฎเชจเซ‡ เชจเชพเชฎเชพเช‚เช•เชฟเชค เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ€ เชฎเชจเชธเซเชตเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ เชจเชพเชฎเชฎเชพเช‚เชฅเซ€ เชกเซ€เชฌเช— เชซเชพเช‡เชฒเชจเซ€ เชจเชฟเชถเชพเชจเซ€ เช…เชฒเช—เชฅเซ€ เช•เชพเชขเซ€ เชถเช•เซ‹ เช›เซ‹:

    เชเช• Red Hat เช•เชฐเซเชฎเชšเชพเชฐเซ€เช เช—เซ‹เชฒเซเชธ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเชฟเชธเซเชŸเชฎ เชฐเชœเซ‚ เช•เชฐเซ€. GNU เชฎเซ‡เช• 4.2 เชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

  • เชถเซ‡เชฒ เชฆเซเชญเชพเชทเชฟเชฏเชพ เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพเช“. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชซเชพเช‡เชฒ เช…เชจเซ‡ เชกเชพเชฏเชฐเซ‡เช•เซเชŸเชฐเซ€ เชจเชพเชฎเซ‹เชฎเชพเช‚ เชธเซเชชเซ‡เชธเชจเซ€ เชฌเชนเชพเชฐ เชจเซ€เช•เชณเซ€ เชœเชตเชพเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชค, เชฆเชฐเซ‡เช• เช•เชฎเชพเชจเซเชกเชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช…เชฒเช— เชถเซ‡เชฒ เชˆเชจเซเชŸเชฐเชชเซเชฐเซ€เชŸเชฐ เชถเชฐเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‹ เชฌเช—เชพเชก, โ€œ$โ€ เช…เช•เซเชทเชฐเชจเซเช‚ เชฌเซ‡เชตเชกเซเช‚ เช…เชฐเซเชฅเช˜เชŸเชจ (เชถเซ‡เชฒ เช…เชจเซ‡ เชฎเซ‡เช• เชฌเช‚เชจเซ‡เชฎเชพเช‚ เชตเชชเชฐเชพเชฏ เช›เซ‡), เช‡เชจเซเชกเซ‡เชจเซเชŸเซ‡เชถเชจเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเซเช‚.

    เชชเชพเชฐเซเชธเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชตเซ‡เชฐเชฟเชฏเซ‡เชฌเชฒเซเชธ ("$" เชซเช•เซเชค เชถเซ‡เชฒ เชฎเชพเชŸเซ‡ เชœ เชฐเชนเซ‡ เช›เซ‡) เชฎเชพเชŸเซ‡ "$" เชจเซ‡ เชฌเชฆเชฒเซ‡ "%" เชชเซเชฐเชคเซ€เช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเช•เซเชทเซเชฏเซ‹เชฎเชพเช‚ เช† เชธเชฎเชธเซเชฏเชพเช“ เช‰เช•เซ‡เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. LALR(1), เชœเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เช…เชตเชคเชฐเชฃ เชšเชฟเชนเซเชจเซ‹ เชธเชพเชฅเซ‡ เชชเชพเชฅ เช…เชจเซ‡ เชซเชพเช‡เชฒ เชจเชพเชฎเซ‹เชจเซ‡ เช˜เซ‡เชฐเซ€ เชฒเซ‡เชตเชพ เช…เชจเซ‡ เช•เชฐเซเชฒเซ€ เช•เซŒเช‚เชธ เชธเชพเชฅเซ‡ เช•เซ‹เชก เชฌเซเชฒเซ‹เช•เซเชธเชจเซ‡ เชนเชพเช‡เชฒเชพเช‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชธเชฎเช—เซเชฐ เช•เชฎเชพเชจเซเชก เชฌเซเชฒเซ‹เช• เช•เชฎเชพเชจเซเชก เชถเซ‡เชฒเชจเชพ เชเช• เช‡เชจเซเชธเซเชŸเชจเซเชธเชฎเชพเช‚ เชฒเซ‹เช‚เชš เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เช–เชพเชธ เชœเช—เซเชฏเชพเช“เชจเชพ เชธเช‚เชฆเชฐเซเชญ เชตเชฟเชจเชพ, เชฌเซเชฒเซ‹เช•เชจเซ€ เช…เช‚เชฆเชฐ เชฎเชจเชธเซเชตเซ€ เช•เซ‹เชก เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฟเช‚เช—เชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡.

    เชนเชคเซ€:
    เชฒเช•เซเชทเซเชฏ: foo.o bar.o
    ${CC} ${CFLAGS} $< -o $@

    เชคเซ‡ เชฌเชจเซเชฏเซเช‚:
    "target": "foo.o", "bar.o" {
    %CC %CFLAGS %< -o %@
    }

เชฒเช•เซเชทเซเชฏเซ‹เชจเซ€ เช…เชจเซเชฏ เชตเชฟเชถเซ‡เชทเชคเชพเช“:

  • เชฎเชจเชธเซเชตเซ€ เชจเชพเชฎเซ‹ เช…เชจเซ‡ เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเซˆเช•เชฒเซเชชเชฟเช• เช†เชงเชพเชฐ:

    เชฒเช•เซเชทเซเชฏ เชคเชฎเชพเชฎ = : "เชฒเช•เซเชทเซเชฏ"

    เชฒเช•เซเชทเซเชฏ เชฒเชฟเช‚เช• =
    "เชฒเช•เซเชทเซเชฏ" : "foo.o", "bar.o" { ... }

    เชฒเช•เซเชทเซเชฏ เชธเช‚เช•เชฒเชจ (เชจเชพเชฎ) =
    "%name.o" : "%name.c", "dep.h" { %CC %CFLAGS -c $^ -o $@ }

  • เชฌเซ‡ เชฒเซ‹เชจเซเชš เชฎเซ‹เชกเซเชธ: เชซเชพเช‡เชฒเชจเชพเชฎเซ‹ เชธเชพเชฅเซ‡ เชฌเชฟเชฒเซเชก เชฒเช•เซเชทเซเชฏเซ‹เชจเซ‡ เชฎเซ‡เชš เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซ‹เชก เชฌเชจเชพเชตเซ‹ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชซเชพเช‡เชฒ "foo.o" เชฒเช•เซเชทเซเชฏ "%name.o" เชธเชพเชฅเซ‡ เชฎเซ‡เชณ เช–เชพเชฏ เช›เซ‡), เช…เชจเซ‡ เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช•เชฎเซเชชเชพเช‡เชฒเซ‡เชถเชจ เชฎเซ‹เชก:

    เชฒเช•เซเชทเซเชฏ เชฌเชงเชพ = : เชฒเชฟเช‚เช•

    เชฒเช•เซเชทเซเชฏ เชฒเชฟเช‚เช• =
    "เชฒเช•เซเชทเซเชฏ" : "foo.o", เช•เชฎเซเชชเชพเช‡เชฒ ("เชฌเชพเชฐ") { ... }

    เชฒเช•เซเชทเซเชฏ เชธเช‚เช•เชฒเชจ (เชจเชพเชฎ) =
    "%name.o" : "%name.c", "dep.h" { %CC %CFLAGS -c $^ -o $@ }

  • เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชฏเซเช•เซเชคเชฟเช“ เชตเชฟเชถเชฟเชทเซเชŸ เชจเชฟเชฏเชฎเซ‹ เชฆเซเชตเชพเชฐเชพ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชฒเช•เซเชทเซเชฏเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชค เชจเช•เซเช•เซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เชœเซ‹ เช•เซ‹เชˆ เชซเชพเช‡เชฒเชจเซ€ เชนเชพเชœเชฐเซ€ เชฎเชพเชŸเซ‡ เชฒเชฟเช‚เช• เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‹ เชคเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชšเชฟเชนเซเชจ (เชจเชฟเชฏเชฎเชจเชพ เชจเชพเชฎ เชฎเชพเชŸเซ‡ "เชฒเช•เซเชทเซเชฏ" เช…เชจเซ‡ เชซเชพเช‡เชฒเชจเซ‡ เชคเชชเชพเชธเชตเชพ เชฎเชพเชŸเซ‡ *เชซเชพเช‡เชฒ ("เชฒเช•เซเชทเซเชฏ") เชฆเซเชตเชพเชฐเชพ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

    "เชฒเช•เซเชทเซเชฏ" : "foo.o", "bar.o" { ... }

    *เชซเชพเชˆเชฒ("เชฒเช•เซเชทเซเชฏ"): *เชซเชพเชˆเชฒ("foo.o"), *เชซเชพเชˆเชฒ("bar.o") { ... }

  • เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชฏเซเช•เซเชคเชฟเช“เชจเชพ เชฎเชจเชธเซเชตเซ€ เชฒเช•เซเชทเชฃเซ‹เชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. "*เชซเชพเช‡เชฒ" เชงเซเชตเชœ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡ (@{...} เช†เช‰เชŸเชชเซเชŸเชจเชพ เชฆเชฎเชจเชจเซ‡ เชธเซ‚เชšเชตเซ‡ เช›เซ‡, เช…เชจเซ‡ "เชเช•เซเชเชฟเชŸ 99" เชชเซเชจเชƒเชจเชฟเชฐเซเชฎเชพเชฃเชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเชจเซ‹ เชธเช‚เช•เซ‡เชค เช†เชชเซ‡ เช›เซ‡):

    เชฏเซเช•เซเชคเชฟ *เชซเชพเช‡เชฒ (เชซเชพเช‡เชฒเชจเชพเชฎ) = @{
    เชŸเซ‡เชธเซเชŸ -f % เชซเชพเช‡เชฒเชจเชพเชฎ || เชฌเชนเชพเชฐ เชจเซ€เช•เชณเซ‹ 99
    % เชฎเชพเช‚ f เชฎเชพเชŸเซ‡

    เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹