╧≡σµΣσ ≈σ∞ ∩≡Φ±≥≤∩Φ≥ⁿ Ω ∩ε±δσΣεΓα≥σδⁿφε∞≤ ετφαΩε∞δσφΦ■ ± φσ τφαΩε∞√∞ Σδ Γα± τ√Ωε∞, Σεδµσφ επεΓε≡Φ≥ⁿ± Φ ±Ωατα≥ⁿ, ≈≥ε Γ±σ ∩≡Φ∞σ≡√ Σα Φ ±α∞ τ√Ω ε∩Φ±αφΦ■ Ωε≥ε≡επε ∩ε±Γ ∙σφα ²≥α ΩφΦπα ²≥ε Perl Γσ≡±ΦΦ 5.003 Σδ ε∩σ≡α÷ΦεφφεΘ ±Φ±≥σ∞√ FreeBSD Γσ≡±ΦΦ 2.01. ╤≤∙σ±≥Γ≤■≥ ≡σαδΦτα÷ΦΦ ²≥επε τ√Ωα Σδ ε∩σ≡α÷Φεφφ√⌡ ±Φ±≥σ∞ OS/2 , MS-DOS Φ Windows NT φε εφΦ φσ∞φεπε ε≥±≥α■≥ ∩ε Γετ∞εµφε±≥ ∞ ε≥ ε≡ΦπΦφαδα, ≡εµΣσφφεπε Γ φσΣ≡α⌡ Unix.
╧≡Φ∞σ≡ 1.
┬ΓσΣΦ≥σ Γ ⌠αΘδ test1.pl ±δσΣ≤■∙Φσ ±≥≡εΩΦ:
#!/usr/local/bin/perl # ╤εΣσ≡µΦ∞εσ ⌠αΘδα test1.pl print "═α°σ ┬α∞ ± ΩΦ±≥ε≈ΩεΘ!\n";└ ≥σ∩σ≡ⁿ ∩εΣ≡εßφε ≡ατßσ≡σ∞ ΩαµΣ≤■ ±≥≡εΩ≤.
#!/usr/local/bin/perl
─αφφα ±≥≡εΩα Σεδµφα ß√≥ⁿ ∩σ≡ΓεΘ Γ δ■ßεΘ Perl-∩≡επ≡α∞∞σ. ╬φα ≤Ωατ√Γασ≥ ±Φ±≥σ∞φε∞≤ Φφ≥σ≡∩≡σ≥α≥ε≡≤ ≈≥ε Σαφφ√Θ ⌠αΘδ - ²≥ε Perl-∩≡επ≡α∞∞α.
# ╤εΣσ≡µΦ∞εσ ⌠αΘδα test1.pl▌≥α ±≥≡εΩα φατ√Γασ≥± Ωε∞∞σφ≥α≡Φσ∞. ╬φα Γ±σπΣα φα≈Φφασ≥± ±Φ∞Γεδε∞ '#' Φ ταΩαφ≈ΦΓασ≥± ≥αΩΦ∞ εß· ±φσφΦσ∞ ≈≥ε ΩαΩ πεΓε≡Φδ ΓσδΦΩΦΘ ╒εΣµα ═α±≡σΣΣΦφ "²≥ε ≥εφΩΦΘ ⌠Φδε±ε⌠±ΩΦΘ Γε∩≡ε±", α πεΓε≡ ∩≡ε±≥√∞ τ√Ωε∞ τΣσ±ⁿ ∞εµφε ∩Φ±α≥ⁿ Γ±σ ≈≥ε ≤πεΣφε. ─αµσ ∩εµσδαφΦσ ≡≤ΩεΓεΣ±≥Γ≤. ╙µ τΣσ±ⁿ εφε ≥ε≈φε Σε φσπε φσ ΣεΘΣσ≥.
print "═α°σ ┬α∞ ± ΩΦ±≥ε≈ΩεΘ!\n";
╤α∞α ∩ε±δσΣφ φ≤ Φ Ωεφσ≈φε πδαΓφα . ╬φα ∩≡ε±≥ε Γ√ΓεΣΦ≥ φα ²Ω≡αφ φαΣ∩Φ±ⁿ "═α°σ ┬α∞ ± ΩΦ±≥ε≈ΩεΘ!".
╟Σσ±ⁿ ±δεΓε print - ²≥ε Ωε∞αφΣα "Γ√Γσ±≥Φ". ┬±σ ≈≥ε Γ ΩαΓ√≈Ωα⌡ - ²≥ε ±Φ∞Γεδ√, \n - ∩σ≡σΓεΣ ±≥≡εΩΦ Φ ';' - ∩≡ΦτφαΩ Ωεφ÷α Ωε∞αφΣ√. ╬φ εß τα≥σδσφ. ┬ εΣφεΘ ±≥≡εΩσ ∞εµσ≥ ß√≥ⁿ φσ±ΩεδⁿΩε Ωε∞αφΣ Φ Γ±σ εφΦ Σεδµφ√ ταΓσ≡°α≥ⁿ± ±Φ∞Γεδε∞ ';'. ╧ε±δσ φσπε ∞εµσ≥ ß√≥ⁿ ±Φ∞Γεδ '#' - ²≥ε τφα≈Φ≥ ε±≥α≥εΩ ±≥≡εΩΦ ±≈Φ≥ασ≥± Ωε∞∞σφ≥α≡Φσ∞.
═αΣ ²≥εΘ ±≥≡εΩεΘ αΓ≥ε≡≤ ∩≡Φ°δε±ⁿ ßεδⁿ°σ Γ±σπε ∩εδε∞α≥ⁿ πεδεΓ≤ ≥αΩ ΩαΩ Γ φσσ ∩ε±≥ε φφε δστδΦ ΩαΩΦσ ≥ε ±≥≡αφφ√σ "hello", "hello all", "╧ε±≥≡εΦ∞± Φ ±∩α±σ∞± ", "╤≥≡εΘ φα°σ ±∩α±σφΦσ" Φ ≥. Σ. Φ ≥.∩.
┼±δΦ Γ√ φΦΩεπΣα φσ ≡αßε≥αδΦ ± Perl, ≥ε ßⁿ■±ⁿ φα ±∩ε≡ Γ 10$, ≈≥ε Σαφφα ∩≡επ≡α∞∞α ±≡ατ≤ ≤ Γα± φσ τα≡αßε≥ασ≥! ═σ ∩ε≥ε∞≤ ≈≥ε εφα φσ Γσ≡φα, α ∩ε≥ε∞≤ ≈≥ε "═σδⁿτ εß· ≥ⁿ φσεß· ≥φεσ". ╤≡ατ≤, ∩ε≥ε∞ ∞εµφε, Σα Φ ≥ε ≈α±≥ ∞Φ. ╤φα≈αδα ±ΣσδαΘ≥σ Γα° ⌠αΘδ test1.pl Φ±∩εδφ σ∞√∞. ─δ ²≥επε ΓΓσΣΦ≥σ Ωε∞αφΣ≤:
chmod +x test1.pl╟α≥σ∞ ∩≡εΓσ≡ⁿ≥σ πΣσ ≤ Γα± Perl. ─δ ²≥επε ΓΓσΣΦ≥σ:
which perl╤Φ±≥σ∞α Γα∞ Γ√Σα±≥ ≈≥ε ≥ε Γ≡εΣσ: /usr/bin/perl
perl: Command not found.╥ε ≥επΣα ταΩ≡εΘ≥σ ΩφΦµΩ≤ Φ δεµΦ≥σ±ⁿ ±∩α≥ⁿ. ╙ Γα± ∩≡ε±≥ε φσ≥ Perl ΦδΦ εφ φσ ≤±≥αφεΓδσφ. └ ∞φσ ε±≥ασ≥± ∩ε±δα≥ⁿ Γα± Ω ±Φ±≥σ∞φε∞≤ αΣ∞ΦφΦ±≥≡α≥ε≡≤ ΦδΦ Ω man (Σδ ∩σ≡σΓεΣ≈ΦΩεΓ- man ±εΩ≡α∙σφΦσ ε≥ manual α φσ ≥ε ≈≥ε Γ√ ∩εΣ≤∞αδΦ).
╥σ∩σ≡ⁿ ∩≡εΓσ≡ⁿ≥σ ≈≥ε ß√ ±≥≡εΩα 01 ±εΣσ≡µαδα ≥ε ≈≥ε Γ√Σαδα Ωε∞αφΣα which. ┼±δΦ ±εΓ∩αδε ≥ε ΓΓσΣΦ≥σ:
test1.plΦ ßⁿ■±ⁿ φα 50$, ≈≥ε Φ ≥σ∩σ≡ⁿ ∩≡επ≡α∞∞α φσ τα≡αßε≥ασ≥, ≥αΩ ΩαΩ ∩≡αΓΦδⁿφσΘ ΓΓσ±≥Φ:
./test1.pl
┼±δΦ ∩≡εΦπ≡αδ, ≥ε φσ ≡αΣ≤Θ≥σ±ⁿ. ─α µσ σ±δΦ Γα∞ ≤Σαδε±ⁿ τα∩≤±≥Φ≥ⁿ ∩≡επ≡α∞∞≤ ΩαΩ test1.pl ²≥ε τφα≈Φ≥, ≈≥ε ≤ Γα± ß≤Σ≤≥ φσ∩≡Φ ≥φε±≥Φ Γ ß≤Σ≤∙σ∞.
╧≡Φ∞σ≡ 2.
─αφφα ∩≡επ≡α∞∞α Γ√ΓεΣΦ≥ φα ²Ω≡αφ Γ±σ Γα°Φ ±σΩ≡σ≥√. └ Φ∞σφφε ⌠αΘδ /etc/passwd.
#!/usr/local/bin/perl open(PASS, "</etc/passwd") || die "╘αΘδ φσ φαΘΣσφ!"; while(<PASS>) { print; } close(PASS);╧ε ±φσφΦ :
open(PASS, "</etc/passwd") || die "╘αΘδ φσ φαΘΣσφ!";
"╬≥Ω≡√≥ⁿ" ⌠αΘδ, ≥.σ. ±ετΣα≥ⁿ ≤Ωατα≥σδⁿ ⌠αΘδα PASS, Φ Γ ±δ≤≈ασ ε°ΦßΩΦ Γ√Σα≥ⁿ "╘αΘδ φσ φαΘΣσφ!" Φ ταΩεφ≈Φ≥ⁿ ∩≡επ≡α∞∞≤.
while(<PASS>)╫Φ≥α≥ⁿ ∩ε εΣφεΘ ±≥≡εΩσ ⌠αΘδα Γ ∩σ≡σ∞σφφ≤■ ∩ε ≤∞εδ≈αφΦ■ $_.
{╬≥Ω≡√≥ⁿ ßδεΩ ε∩σ≡α≥ε≡εΓ.
print;┬√Γσ±≥Φ φα ²Ω≡αφ ∩σ≡σ∞σφφ≤■ ∩ε ≤∞εδ≈αφΦ■ $_
}╩εφσ÷ ßδεΩα.
close(PASS);╟αΩ≡√≥ⁿ ⌠αΘδ. ▌≥επε ∞εµφε Φ φσ Σσδα≥ⁿ, ≥. Ω. ⌠αΘδ αΓ≥ε∞α≥Φ≈σ±ΩΦ ταΩ≡εσ≥± ∩ε±δσ εΩεφ≈αφΦ ∩≡επ≡α∞∞√.
╨στ≤δⁿ≥α≥ ≡αßε≥√ ²≥εΘ ∩≡επ≡α∞∞√ ≥ε≥ µσ ≈≥ε Φ Ωε∞αφΣ√ cat /etc/passwd. ╧ε ²Ω≡αφ≤ ∩≡εßσµαδΦ φσ∩εφ ≥φ√σ ±≥≡εΩΦ φε τα≥ε ≥σ∩σ≡ⁿ ∩σ≡σΣ Γα∞Φ ε≥Ω≡√≥√ πε≡Φτεφ≥√ Perl ∩≡επ≡α∞∞Φ≡εΓαφΦ ! ┬±σ ∩ε±δσΣ≤■∙Φσ ∩≡Φ∞σ≡√ ß≤Σ≤≥ ≡ατΓΦ≥Φσ∞ ²≥εΘ ∩≡επ≡α∞∞√ Φ εφα ∩≡σΓ≡α≥Φ≥± Φτ παΣΩεπε ≤≥σφΩα Γ ∩≡σΩ≡α±φεπε δσßσΣ (φσ πσφσ≡αδα).
╧≡Φ∞σ≡ 3.
╨ατΣσδσφΦσ ∩εδσΘ.
#!/usr/local/bin/perl open(PASS, "</etc/passwd") || die "╘αΘδ φσ φαΘΣσφ!"; while(<PASS>) { ($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); print "$login \t $name\n"; } close(PASS);╧ε ±φσφΦσ:
($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':');╧≡Φ±ΓεΦ≥ⁿ ≤Ωαταφφ√∞ ∩σ≡σ∞σφφ√∞ ∩εδ Γ⌡εΣφεΘ ±≥≡εΩΦ, ±≈Φ≥α ≡ατΣσδΦ≥σδσ∞ ±Φ∞Γεδ ':'.
print "$login \t $name\n";┬√Γσ±≥Φ login - Φ∞ ∩εδⁿτεΓα≥σδ Φ σπε ε∩Φ±αφΦσ. ╧εδ ≡ατΣσδσφ√ ±Φ∞Γεδε∞ '\t' - ≥αß≤δ ÷ΦΦ.
╧≡Φ∞σ≡ 4.
┬√Γσ±≥Φ Φ∞σφα ∩εδⁿτεΓα≥σδσΘ, ε≥±ε≡≥Φ≡εΓαφφ√⌡ ∩ε π≡≤∩∩α∞.
#!/usr/local/bin/perl open(PASS, "sort -n -t : +3 -4 +0 /etc/passwd|") || die "╘αΘδ φσ φαΘΣσφ!"; while(<PASS>) { ($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); print "$login \t $gid \t $name\n"; } close(PASS);╧ε ±φσφΦ :
open(PASS, "sort -n -t : +3 -4 +0 /etc/passwd|") || die "╘αΘδ φσ φαΘΣσφ!";
┬ ΣαφφεΘ ±≥≡εΩσ Γσ±ⁿ ⌠εΩ≤±! ┬⌡εΣφ√∞ ⌠αΘδε∞ Σδ φα°σΘ ∩≡επ≡α∞∞√ ±≥αδ Γ√⌡εΣ Ωε∞αφΣ√ sort Ωε≥ε≡α Φ ε≥±ε≡≥Φ≡≤σ≥ Γ⌡εΣφ√σ Σαφφ√σ.
╘ε≡∞α≥Φ≡εΓαφφ√Θ Γ√ΓεΣ.
═≤ α ≥σ∩σ≡ⁿ φα∩σ≈α≥ασ∞ φα ²Ω≡αφσ Γ±σ φα°Φ Σαφφ√σ Γ ≤ΣεßφεΘ ⌠ε≡∞σ.
#!/usr/local/bin/perl open(PASS, "sort -n -t : +3 -4 +0 /etc/passwd|") || die "╘αΘδ φσ φαΘΣσφ!"; while(<PASS>) { ($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); write(); # ╘ε≡∞α≥Φ≡εΓαφφ√Θ Γ√ΓεΣ Σαφφ√⌡. } close(PASS); exit 0; # ╟αΓσ≡°σφΦσ ∩≡επ≡α∞∞√ ############ ╬∩Φ±αφΦσ ⌠ε≡∞√ Γ√ΓεΣα ################## format STDOUT = ╧εδⁿτεΓα≥σδⁿ: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $name ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $name ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $name ---------------------------------------------------------------------- Login:@<<<<<<<< Uid:@<<< Gid:@<<< Home dir:@<<<<<<<<<<<<<<<<<<<<< $login, $uid, $gid, $home_dir ---------------------------------------------------------------------- . # ▌≥ε ∩ε±δσΣφ ±≥≡εΩα ∩≡επ≡α∞∞√
╘≡απ∞σφ≥ ≡στ≤δⁿ≥α≥α:
╧εδⁿτεΓα≥σδⁿ: ╩αδ≤µ±ΩΦΘ δΦΩσ≡εΓεΣε≈φ√Θ ταΓεΣ. ╦≤≈°Φσ ΓεΣΩΦ Φ φα±≥εΘΩΦ. ╟ΓεφΦ≥ⁿ ≥εδⁿΩε ∩σ≡σΣ ∩≡ατΣφΦΩε∞ ╩ε±≥≡ΦΩεΓ≤ └φα≥εδΦ■ ≥. 2-23-06,,, ---------------------------------------------------------------------- Login:uucryst Uid:1055 Gid:66 Home dir:/var/spool/uucppublic/ ---------------------------------------------------------------------- ╧εδⁿτεΓα≥σδⁿ: ╥ε≡πεΓ√Θ ─ε∞ ─Φδσφ,,, ---------------------------------------------------------------------- Login:uudilen Uid:1075 Gid:66 Home dir:/var/spool/uucppublic ----------------------------------------------------------------------
┼±δΦ Γα∞ Φφ≥σ≡σ±φε ≤τφα≥ⁿ ΩαΩ ≡αßε≥ασ≥ ²≥α ∩≡επ≡α∞∞α, ≥ε ∩σ≡σΓσ≡φΦ≥σ ±≥≡αφΦ÷≤ Φ φα≈ΦφΦ≥σ ±Γεσ ∩≤≥σ°σ±≥ΓΦσ Γ ∞Φ≡σ Perl. ╞σδα■ ≤Σα≈Φ!