Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
[Photo of the Author]
by Guido Socher

About the author:

Guido �O�Өϥ� Linux �ܤ[��Linux �g�C�̪�L�}�l��� LinuxFocus ���s��C�o�Ǥ�l�L�]���ۧ�ةФl, �åB�b���بǥ͵�Ψ䥦���浥�C

Content:

Perl part I

[Illustration]

Abstract:

�o�O�@�t�C���� perl �峹���Ĥ@�g�C�z���ݦ�����S�O���g��N�i�H�A�ѳo�g�峹�C����{�ǵ{���]�p�y�� (�Ҧp C �� Pascal) �N�|���Dz� perl ���}�l�󬰮e���C



 

����O perl ?

perl �O�@�ӭ쥻�� Larry Wall �Ҷ}�o�X�Ӫ��}���y���C��l�X�i�̷ӹ�ڪ� perl �{�������Q "����" �C�� perl �{���q�`���Q�w�m�b /usr/bin/perl �ؿ����CPerl �b�\�h�譱���P�嫬�� unix �{��awk �M sed �ۦ�, ���L perl ���@������o�i. ���ѱz�Ʀܥi�H�ϥ� perl �ӧ@����ɦV�{���]�p�γ]�w�ϧΪ��ϥΪ̤����CPerl �i�H�����a�Q�Φb CPAN ���ܦh���禡�w�M perl ��l�X�w���X�i�����\��. �o�O�Ĥ@�g�峹�ҥH���|�i�J�i�����D�D. �ӧڷ|�Q�n�i�ܵ��A���O�@�ǰ򥻪��[��, �Ө䥦���i�������d��y�᪺�峹���|���СC

Perl �O�@�ӫD�`���Ϊ��}���y��. ���O�@�ӥ��󦳨ǵ{���]�p�ޯ઺�H���@�P�u��C

 

�@��²�檺�{��

�N�U�����{�� �ϥ� mylstprg �W���x�s�_��,
chmod 755 my1stprg .����{���M��ݬݰ��浲�G�p��C

#!/usr/bin/perl -w
print "What is your name?\n";
$name=<STDIN>;
#remove the new-line character:
chomp($name);
$len=length($name);
print "\nHello $name! Your name is $len characters long\n";

�ڭ̨��[��@�U�o�ӭ�l�X�C�Ĥ@��ä��O���ѡC�o�إ� "#!" �}�Y�O�嫬�� unix �}���ϥ�, �ӧi�D�@�~�t�Φp��B�z��r�ɮסC����b�Ĥ@�椧��� "#" �r���}�Y���O���� ( �ЬݨҤl���� 4 ��). �ڭ̤]�i�H�ݨ�Ҧ����ԭz���H���������C�ܼƫe���|�[�W�@�ӿ��Ÿ� ($)�CPerl �i�ϥΪ��ܼƦ��r��B��ƩίB�I�ơC��Ʒ|�ھ��ܼƨϥήɪ��W�U��۰��ഫ�����T�������C$-�ܼƳQ�٬��ƭ��ܼơCPerl �]���}�C (�H @ �ӥN�� $ ���}�Y) �M�����(�H % �ӥN�� $ ���}�Y)�C�o���ܼ������N�b���򪺨t�C�峹���Q�סC
�b�ڭ̵{�����ĤG�檺 print ��ƱN�@�Ӥ�r�r��g��зǿ�J�]��(stdout)�C�������b Shell scripts ���� echo �R�O�C�Y�r��Q�����޸��A�_�Ӫ���, �ܼƷ|�i�}�����������ƭȡC�b��޸������ܼƤ��|�i�}���, ���~, �n�A���Ҧp���Ÿ����S���r���Τ޸��A���޸���, �����ϥΤϱ׽u�C�o�̦��ӨҤl:

#!/usr/bin/perl -w
$name="joe";
print "1 $name\n";
print '2 ', $name , "\n";
print '3 ', '$name',"\n";
print "4 \"$name\"\n";
print "5 \$name\n";
print "6 \"\$name\"\n";

�|���ͤU�C���G:

1 joe
2 joe
3 $name
4 "joe"
5 $name
6 "$name"

���ڭ̦^�Y�[�ݤ@�}�l����²�檺�{���C$name=; �o�@�洣�ܨϥΪ̿�J�B���|����ϥΪ̫��U return ��ɡC�o�@��᭱���ܼ� $name �N�O�s�ϥΪ���J�����, �]�A����šCchomp($name); �|�N������Ÿ��q�ܼ� $name ���R���C�̫� length ��ƫh�Ψӭp�� $name �����r���ƥءC

�i�����O�ڭ̳o�ӵ{�����I���I�C������ your name ��, �p�G�A���U tab ��Ϊť��䪺��, �|�����򱡪p�o�ͩO�H�N�O�o�Ǧr���]���|�b�r�����פ��Q�p���C���Ӧp��勵���O�H
�ڭ̻ݭn�@�ǴM��M���N����ƨӧR�� $name ���h�l���ťզr���CPerl ����r���r��㦳�ܦn���B�z��O�åB�]�T�괣�ѤF�W�z���ާ@�C[ \t]�O�۷���ťզr���β���r�����@�ӳW�h�B�⦡ (regular expression)�C�b perl �����]�Q�Y�g�� \s. (��h������ �зǹB�⦡����T�Ьݦ��B).Perl �������N�R�O�ϥΤF�зǹB�⦡�Φ��p�U���y�k�G$name=~ s/regexp/replacement/g;�C�p�G�b replacement �r��B�O�ť�, �h�Ҧ��ŦX���󤧬����� regexp �N�Q���N���ťաC�{�b�ڭ̪��{���|�ݰ_�ӹ��o�ˡG

#!/usr/bin/perl -w
print "What is your name?\n";
$name=<STDIN>;
#remove the new-line character:
chomp($name);
print "\nHello $name!";
#remove spaces from the string:
$name=~s/\s//g;
$len=length($name);
print " Your name is $len characters long\n";

�o�ä��O�@�ӫܦ��Ϊ��{��, �]�����èS�����󱱨�y�{�]�j��Bif ���󦡡^�C���O�����ѤF perl �����[���C�o�t�C�峹�|����U�h�B���W�N�|�X�{��[�������{���C

 

�����ѦҤ��

�o�Өt�C�峹�i���A�@�B�B�`�Ǻ��i���Dz� perl�C���L�z�i�H�{�b�N�h�U���o�Ӥp �ѦҤ�U�]perlref-5.004.1.tar.gz�^�C ���]�t�F README ��󻡩��p��C�L���@�Ӥp�U�l�C

�A�]�i�յۥ� "man perl" �M "man perlfunc" ���[�ݦ����ǥi�H�ϥΪ���ơC���L�Ҧ��o�Ǧh�b���Ψӷ��@�ѦҡC�A���Ӹ�ۥ��t�C�峹�Ϊ̾\Ū�������y, �Ҧp "Learning Perl"�] O'Reilly�X���^�����ѨӾDz� perl�C


Webpages maintained by the LinuxFocus Editor team
© Guido Socher
LinuxFocus 1999
Translation information:
en -> -- Guido Socher
en -> cn Kevin Hsu

1999-10-28, generated by lfparser version 0.8