╧εΣ∩≡επ≡α∞∞√.

─δ  ∩≡Φ∞σφσφΦ  ∩εΣ∩≡επ≡α∞∞√ σσ φσεß⌡εΣΦ∞ε ε∩≡σΣσδΦ≥ⁿ δΦßε Γ ≥σΩ≤∙σ∞ ∞εΣ≤δσ (⌠αΘδσ), δΦßε Γε Γφσ°φσ∞ ∞εΣ≤δσ (⌠αΘδσ). ╧εΣ∩≡επ≡α∞∞√ ε∩≡σΣσδ ■≥±  Φ ΣσΩδα≡Φ≡≤■≥±  ±δσΣ≤■∙Φ∞ εß≡ατε∞:

─δ  ε∩≡σΣσδσφΦ  ΣΦφα∞Φ≈σ±ΩεΘ αφεφΦ∞φεΘ ∩εΣ∩≡επ≡α∞∞√ ∞εµφε ≤Ωατα≥ⁿ: ─δ  Φ∞∩ε≡≥Φ≡εΓαφΦ  ∩εΣ∩≡επ≡α∞∞ Φτ Σ≡≤πΦ⌡ ∞εΣ≤δσΘ Φ±∩εδⁿτ≤Θ≥σ: ┬√τεΓ ∩εΣ∩≡επ≡α∞∞√:
     Φ∞ (±∩Φ±εΩ ∩α≡α∞σ≥≡εΓ); # ±Φ∞Γεδ '&' ∞εµφε φσ ≤Ωατ√Γα≥ⁿ.
     Φ∞  ±∩Φ±εΩ;             # ┼±δΦ ∩εΣ∩≡επ≡α∞∞α ≤µσ ΣσΩδα≡Φ≡εΓαφα.
     &Φ∞ ;                   # ╧α≡α∞σ≥≡√ Γ @_

┬±σ ∩α≡α∞σ≥≡√ ∩σ≡σΣα■≥±  ∩εΣ∩≡επ≡α∞∞σ ΩαΩ ∞α±±ΦΓ @_. ╤εε≥Γσ≥±≥Γσφφε $_[0] - ∩σ≡Γ√Θ ∩α≡α∞σ≥≡, $_[1] - Γ≥ε≡εΘ Φ ≥.Σ. ╠α±±ΦΓ @_ - δεΩαδⁿφ√Θ, φε εφ ±εΣσ≡µΦ≥ αΣ≡σ±α ∩α≡α∞σ≥≡εΓ, ∩ε²≥ε∞≤ ∞εµφε Φτ∞σφ ≥ⁿ τφα≈σφΦσ ∩α≡α∞σ≥≡εΓ. ┬ετΓ≡α∙ασ∞εσ τφα≈σφΦσ ∩εΣ∩≡επ≡α∞∞√ - ≡στ≤δⁿ≥α≥ ∩ε±δσΣφσπε ε∩σ≡α≥ε≡α. ▌≥ε ∞εµσ≥ ß√≥ⁿ ΩαΩ ±Ωαδ ≡ ≥αΩ Φ ∞α±±ΦΓ. ╠εµφε ∩≡Φφ≤ΣΦ≥σδⁿφε ΓετΓ≡α∙α≥ⁿ ≡στ≤δⁿ≥α≥ Φ±∩εδⁿτ≤  ⌠≤φΩ÷Φ■ return().

╧εΣ∩≡επ≡α∞∞≤ ∞εµφε Γ√τΓα≥ⁿ, Φ±∩εδⁿτ≤  ∩≡σ⌠ΦΩ± '&' ∩σ≡σΣ Φ∞σφσ∞ ∩εΣ∩≡επ≡α∞∞√. ┼±δΦ ∩εΣ∩≡επ≡α∞∞α ∩≡σΣΓα≡Φ≥σδⁿφε ∩≡εΣσΩδα≡Φ≡εΓαφα, ≥ε ∩≡σ⌠ΦΩ± Φ ±ΩεßΩΦ ∞εµφε ε∩≤±≥Φ≥ⁿ.

Private ∩σ≡σ∞σφφ√σ.

─δ  ∩≡Φ∞σφσφΦ  ∩σ≡σ∞σφφ√⌡ Σε±≥≤∩φ√⌡ ≥εδⁿΩε Γφ≤≥≡Φ ßδεΩα ΦδΦ ∩εΣ∩≡επ≡α∞∞√ φσεß⌡εΣΦ∞ε ε∩≡σΣσδΦ≥ⁿ Φ⌡ ± ∩ε∞ε∙ⁿ■ ⌠≤φΩ÷ΦΦ my(±∩Φ±εΩ).
┼±δΦ ∩σ≡σ∞σφφα  εΣφα, ≥ε ±ΩεßΩΦ ∞εµφε ε∩≤±≥Φ≥ⁿ.

my() ΣσΩδα≡Φ≡≤σ≥ private ∩σ≡σ∞σφφ√σ Γ ∩≡σΣσδα⌡ ≥σΩ≤∙σΘ ∩εΣ∩≡επ≡α∞∞√, ßδεΩα, ⌠≤φΩ÷ΦΦ eval() ΦδΦ do/require/use ⌠αΘδεΓ. Private ∩σ≡σ∞σφφ√σ αφαδεπΦ≈φ√ auto ∩σ≡σ∞σφφ√∞ Γ ╤.

╧≡Φ∞σ≡:

	# ╧≡επ≡α∞∞α Γ√≈Φ±δσφΦ  ⌠αΩ≥ε≡Φαδα.
	print fact(3);  # Γ√≈Φ±δΦ≥ⁿ ⌠αΩ≥ε≡Φαδ 3*2*1
	sub fact	# ╬∩≡σΣσδ σ∞ ∩εΣ∩≡επ≡α∞∞≤.
	{ my $m;                # private ∩σ≡σ∞σφφα  φε φσ local !
	$m = $_[0];
	return 1 if $m <= 1;
	return($m * fact($m -1));
	}

╠εµφε ≤Ωατ√Γα≥ⁿ φα≈αδⁿφ√σ τφα≈σφΦ  private ∩σ≡σ∞σφφ√⌡ ΩαΩ:

╥αΩ Σδ  Γ√°σ∩≡ΦΓσΣσφφεπε ∩≡Φ∞σ≡α δ≤≈°σ ß√δε φα∩Φ±α≥ⁿ:

╧σ≡σ∞σφφ√σ ≥Φ∩α local.

┬ εß∙σ∞ δ≤≈°σ Φ±∩εδⁿτεΓα≥ⁿ private ∩σ≡σ∞σφφ√σ, ≥. Ω. ²≥ε φαΣσµφσΘ Φ ß√±≥≡σσ. private ∩σ≡σ∞σφφ√σ εßσ±∩σ≈ΦΓα■≥ δσΩ±Φ≈σ±Ω≤■ εßδα±≥ⁿ ∩≡Φ∞σφσφΦ  (ΓΦΣΦ∞ε±≥Φ), α local - ΣΦφα∞Φ≈σ±Ω≤■. ╬ß√≈φε ²≥ε ∩σ≡σ∞σφφ√σ ⌠ε≡∞α≥εΓ, τφα≈σφΦσ Ωε≥ε≡√⌡ Σεδµφε ß√≥ⁿ ΓΦΣΦ∞ε Φτ Γ√τ√Γασ∞√⌡ ∩εΣ∩≡επ≡α∞∞. ╧≡Φ∞σφσφΦσ ⌠≤φΩ÷ΦΦ local() φσ÷σδσ±εεß≡ατφε Γ ÷ΦΩδα⌡, ≥αΩ ΩαΩ εφα Γ√τ√Γασ≥±  ΩαµΣ√Θ ≡ατ Φ ≥αΩΦ∞ εß≡ατε∞ τα∞σ≥φε ≤ΓσδΦ≈ΦΓασ≥ Γ≡σ∞  Γ√∩εδφσφΦ  ÷ΦΩδα.

╧≡ε≥ε≥Φ∩√ (prototypes).

─δ  Ω≡α≥Ωεπε ε∩Φ±αφΦ  ≥Φ∩α ∩σ≡σΣαΓασ∞√⌡ ∩εΣ∩≡επ≡α∞∞σ ∩α≡α∞σ≥≡εΓ ∞εµφε ∩≡Φ∞σφ ≥ⁿ ∩≡ε≥ε≥Φ∩√. ┬ Perl ±≤∙σ±≥Γ≤■≥ ±δσΣ≤■∙Φσ ∩≡ε≥ε≥Φ∩√:
─σΩδα≡α÷Φ ╧≡Φ∞σ≡ Γ√τεΓα
sub mylink($$)mylink $old, $new
sub myvec($$$)myvec $var, $offset, 1
sub myindex($$;$)myindex &getstring, "substr"
sub myreverse(@)myreverse $a, $b, $c
sub myjoin($@)myjoin ":",$a,$b,$c
sub mypop(\@)mypop @array
sub mysplice(\@$$@)mysplice @array, @array, 0, @pushme
sub mykeys(\%)mykeys %{$hashref}
sub myopen(*;$)myopen HANDLE, $name
sub mypipe(**)mypipe READHANDLE, WRITEHANDLE
sub mygrep(&@)mygrep { /foo/ } $a, $b, $c
sub myrand($)myrand 42
sub mytime()mytime
╟Σσ±ⁿ:

╤±√δΩα ΩαΩ ∩α≡α∞σ≥≡.

╚φεπΣα φ≤µφε Γ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡α ∩σ≡σΣα≥ⁿ ∩εΣ∩≡επ≡α∞∞σ φσ τφα≈σφΦσ ²δσ∞σφ≥α ∞α±±ΦΓα, α ±±√δΩ≤ φα φσπε, ≈≥εß√ ∩εΣ∩≡επ≡α∞∞α ∞επδα Φτ∞σφΦ≥ⁿ τφα≈σφΦσ ²δσ∞σφ≥α. ─δ  ²≥επε Γ Perl Ω Φ∞σφΦ ∩σ≡σ∞σφφεΘ ΣεßαΓδ σ≥±  ±Φ∞Γεδ '*' ╧εΣεßφεσ Γ√≡αµσφΦσ φατ√Γα■≥ 'type glob' ≥αΩ µσ ΩαΩ Γ Unix ±Φ∞Γεδε∞ '*' εßετφα≈α■≥ "Γ±σ Γετ∞εµφ√σ τφα≈σφΦ ". ╧ε²≥ε∞≤ '*' Σδ  ∞α±±ΦΓα ετφα≈ασ≥ "Γ±σ ²δσ∞σφ≥√ ∞α±±ΦΓα". ─δ  ±Ωαδ ≡εΓ ≤∩ε≥≡σßδ ≥ⁿ '*' φσ Φ∞σσ≥ ±∞√±δα, ≥.Ω. εφΦ Φ ≥αΩ ∩σ≡σΣα■≥±  ±±√δΩεΘ Φ Γ√ ∞εµσ≥σ Φτ∞σφ ≥ⁿ τφα≈σφΦσ ∩α≡α∞σ≥≡α, Φτ∞σφ  , φα∩≡Φ∞σ≡, ∩σ≡σ∞σφφ≤■ $_[0].

╧σ≡σε∩≡σΣσδσφΦσ Γ±≥≡εσφφ√⌡ ⌠≤φΩ÷ΦΘ.

┴εδⁿ°Φφ±≥Γε Γ±≥≡εσφφ√⌡ ⌠≤φΩ÷ΦΘ Perl ∞εµφε ∩σ≡σε∩≡σΣσδΦ≥ⁿ ±ΓεΦ∞Φ ±εß±≥Γσφφ√∞Φ. ╬ß√≈φε ²≥ε Σσδα■≥ Σδ  ≤Σεß±≥Γα ±εΓ∞σ±≥Φ∞ε±≥Φ Perl Σδ  ≡ατφ√⌡ ∩δα≥⌠ε≡∞ ±Φ±≥σ∞.
─δ  ²≥επε φ≤µφε ∩σ≡σ≈Φ±δΦ≥ⁿ Φ∞σφα ²≥Φ⌡ ⌠≤φΩ÷ΦΘ Γ ΓΦΣσ:

Φ Σαδσσ Γ ∞εΣ≤δσ ε∩≡σΣσδΦ≥ⁿ ±α∞Φ ⌠≤φΩ÷ΦΦ.

└Γ≥εταπ≡≤τΩα.

┼±δΦ Γ√ ∩ε∩√≥ασ≥σ±ⁿ Γ√τΓα≥ⁿ φσ±≤∙σ±≥Γ≤■∙≤■ ⌠≤φΩ÷Φ■, ≥ε Perl φσ∞σΣδσφφε Γ√Σα±≥ ±εεß∙σφΦσ εß ε°ΦßΩσ. ═ε σ±δΦ Γ√ ε∩≡σΣσδΦ≥σ ∩εΣ∩≡επ≡α∞∞≤ ± Φ∞σφσ∞ 'AUTOLOAD', ≥ε εφα ß≤Σσ≥ Γ√τΓαφα ± ≥σ∞Φ µσ ∩α≡α∞σ≥≡α∞Φ, α ∩σ≡σ∞σφφα  $AUTOLOAD ß≤Σσ≥ ±εΣσ≡µα≥ⁿ Φ∞  φσ±≤∙σ±≥Γ≤■∙σΘ ∩εΣ∩≡επ≡α∞∞√. ─αφφ√Θ ∞σ⌡αφΦτ∞ ε≈σφⁿ ≤Σεßσφ Σδ  ±≡σΣ±≥Γ ε≥δαΣΩΦ.

[═αταΣ] [╤εΣσ≡µαφΦσ] [┬∩σ≡σΣ]