нР ОПНЯРНЦН Й ЯКНФМНЛС

оПЕФДЕ ВЕЛ ОПХЯРСОХРЭ Й ОНЯКЕДНБЮРЕКЭМНЛС НГМЮЙНЛКЕМХЧ Я МЕ ГМЮЙНЛШЛ ДКЪ БЮЯ ЪГШЙНЛ, ДНКФЕМ НЦНБНПХРЭЯЪ Х ЯЙЮГЮРЭ, ВРН БЯЕ ОПХЛЕПШ ДЮ Х ЯЮЛ ЪГШЙ НОХЯЮМХЧ ЙНРНПНЦН ОНЯБЪЫЕМЮ ЩРЮ ЙМХЦЮ ЩРН 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(&ltPASS>)
          {
	    ($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. фЕКЮЧ СДЮВХ!

[яНДЕПФЮМХЕ] [бОЕПЕД]