Professional Documents
Culture Documents
Perl Tutor
Perl Tutor
|
!
"
|
÷ ÷ ÷
ë
#
ë
ë
ë $
%
|
÷ ÷ ÷
ë
ë
ë '()
|
&
÷
|
+
ë () '
|
ë -('
|
ë ..
..
ë /.('|.
|
,
[
ë [)
ë -
ë 12
ë
ë $
|
0
|
ë 1 3
ë /
|
÷ |
ë 1
ë %5
6
ë %
ë %)
ë
ë -
|
4
[
ë [8
2-
ë [
*
ë |9
ë
ë
ë 3 -:
|
7
|
ë $*
print "Hello world\n";
ë
* "
|
ë ' *
ë perl hello.pl
|
ë [.
.5;)< 6
ë rinperl
ë )
`hmod +x hello.pl
ë '*
.hello.pl
|
&
ë
-
ë 2
5ë6
ë *
ë ë Thi i a hello world program
print "Hello, world \n"; ë print
|
+
|
ë -
) *
ë % )<ðw
2
ë ;
perl ðw hello.pl
ë $
ë rinperl ðw
|
,
|
0
÷
ë 22
ë
2
|
ë
ë ;
-
2
ë =
-
- *
|
4
[
ë **-
*
2
**
-
2>
-
2
2?
ë
-
|
7
2
ë Ô 8
ë @8
-
-
ë ;
e tri`t;
my $var;
|
ï
ë
*
ë my $name = "Dave";
ë my $whoami = 'Jt Another Perl
Ha` er';
ë my $meaning_of_life = 42;
ë my $nmer_le_than_1 = 0.000001;
ë my $very_large_nmer = 3.27e17;
ë 3.27 time 10 to the power of 17
|
[
ë
2
2
-
ë ë add int to a floating point nmer
my $m = $meaning_of_life +
$nmer_le_than_1;
ë ë ptting the nmer in a tring
print "$name ay, 'The meaning of
life i $m.'\n";
|
Ë
ï
ë A
8)
A
my $pri`e = '$9.95';
ë A
my $invline = "24 widget @ $pri`e
ea`h\n";
ë ;
A
ë
2
*
A
|
+
6
ë
8
2
B*C
ë [
* 2B*56C*
ë if (defined($my_var)) { ... }
ë Ô
*-
*
ë $var = ndef
ë ndef $var
|
,
ë -
*
|
0
ë
*-
ë print $frit0];
ë print "apple"
ë print $random_`alar2];
ë print "dave `ro"
ë /
*>
*
-
|
ï
ë '
*
* -
ë print @frit0,2,4];
ë print "apple", "gava",
ë "grape"
ë print @frit1 .. 3];
ë print "orange", "gava",
ë "paionfrit"
ë /
*
2
*-
|
4
ï
ë $array4] = 'omething';
$array400] = 'omething ele';
ë
2
ë $`ont = @array;
ë or $`ont = `alar @array
|
&
ë
B !
C
B
C
ë
2
þfren`h = ('one', 'n', 'two', 'dex',
'three', 'troi');
ë .* .5DE6
þgerman = (one => 'ein',
two => 'zwei',
three => 'drei');
|
&
ë $three = $fren`h{three};
ë print $german{two};
ë
2-
<
*>
28
|
&
ï
ë
-
ë '
*
*
print @fren`h{'one','two','three'};
ë print "n", "dex" & "troi"
ë <
*
2
*
|
&&
ï
ë $hah{foo} = 'omething';
ë $hah{ar} = 'omething ele';
ë
2
ë @hah{'foo', 'ar'} =
('omething', 'ele');
ë @hah{'foo', 'ar'} =
@hah{'ar', 'foo'};
|
&+
ë
ë [
A $ëarray
ë print þhah
*
ë 8
2-
|
&,
ï
ë
-
ë $
||F
ë [-
|
&0
[ 2
ë -
$_
*
print; ë print the vale of $_
ë * *
<8
-
$_
|
&
6
ë while (<FILE>) {
if (regex) {
print;
}
}
ë [
*>F
|
&4
ï
ë @ARGV
ë
- 8
|
&7
ï
ë þENV
ë
-
"
ë
-
=
G2G
:
ë print $ENV{PATH};
|
+
|
+
ë
*
#
.[
. .
**.
'
$
2
*
!
*
|
+
ë
5H6<
5!6<-5I6<5J6
ë |
5?6<) 5II6
ë $peed = $ditan`e $time;
$vol = $length * $readth * $height;
$area = $pi * ($radi ** 2);
$odd = $nmer þ 2;
|
+&
ï
ë $*
$total = $total + $amont;
ë
$total += $amont;
ë (
$x++; ë ame a $x += 1 or $x = $x + 1
$yðð; ë ame a $y ð= 1 or $y = $y ð 1
ë **2$x++ ++$x
|
++
ï
ë 5"6
$name = $firtname . ' ' . $rname;
ë ' 5)6
$line = 'ð' x 80;
$poli`e = 'hello ' x 3;
ë
$page .= $line; ë $page = $page . $line
$thing x= $i; ë $thing = $thing x $i
|
+,
[
ë
**
ðe $file
*)
ðr $file
*
ðw $file
*2
ðd $file
* -
ðf $file
* *
ðT $file
)*
ð $file
-*
|
+0
ë
ë
* 2*
ë **
*8
!*
|
+
ë %
5
6
ë $age = 29.75;
$year = int($age);
ë @lit = ('a', 'random',
'`olle`tion', 'of',
'word');
@orted = ort(@lit);
ë a `olle`tion of random word
|
+4
ï
ë length
*
$len = length $a_tring;
ë ` l` 2
*
$tring = 'MiXeD CaSe';
print "$tring\n", ` $tring, "\n",
l` $tring;
ë
`firt l`firt
|
+7
ï
ë `hop
*
$word = 'word';
$letter = `hop $word;
ë `homp
-*
2
*
-
|
,
ï
ë tr
*
$tring = 'Hello world';
print tr($tring, 0, 5);
ë print 'Hello'
|
,
ë a
ë `o<in
*
|
,+
ï
ë ·oin
-
@array = (1 .. 5);
$tring = ·oin ' ', @array;
ë $tring i '1 2 3 4 5'
ë plit
-
$tring = '1~2~3~4~5';
@array = plit(~, $tring);
ë @array i (1, 2, 3, 4, 5)
|
,,
ë delete
-J*
ë exit
- *)
ë ey
* -
ë vale
*
|
,0
ë open
*
2
*
open(FILE, 'in.dat');
ë Ô *2<FILE>
$line = <FILE>; ë one line
@line = <FILE>; ë all line
ë %-<
*2
`loe(FILE);
|
,
ë read *) *-
**
$yte = read(FILE, $ffer, 1024);
ë ee
*
ee (FILE, 0, 0);
ë tell *
$where = tell FILE;
ë trn`ate *
9
trn`ate FILE, $where;
|
,4
[
ë time
*
7
ë $now = time;
ë lo`altime
|
0
|
0
ë
2
**
*)
ë [
* *
*
*
ë @2
#
|
0&
÷ [
ë 8
2A
.2
*
#.
59 6
885-
6
*5*6
565-
6
ë (-
|
0+
ë 2
2-
-A
$x == $y $x eq $y
$x = $y $x ne $y
$x > $y $x gt $y
$x >= $y $x ge $y
< 5lt6<= 5le6
|
0,
ë 62 > 42 ë tre
ë '0' == (3 * 2) ð 6 ë tre
ë 'apple' gt 'anana' ë fale
ë 'apple' == 'anana' ë tre( )
ë 1 + 2 == '3 ear' ë tre
|
00
!
ë 2
)
ë EXPR_1 and EXPR_2
* (M'F
(M'F
ë EXPR_1 or _EXPR_2
*(M'F
F(M'F
ë
-)&& * and || * or
|
0
ï
ë EXPR_1 or EXPR_2
$- (M'F*(M'F
*
ë
* 2
open FILE, 'omething.dat'
or die "Can't open file $ ";
ë @ARGV == 2 or print $age_mg;
|
04
ë *! *
ë if (EXPR) { LOCK }
ë $-)
@|$
*(M'
if ($name eq 'Do`tor') {
regenerate();
}
|
07
ë *G
"""! )*
if (EXPR) { LOCK1 } ele { LOCK2}
ë *(M'
<)@|$
<
2
)@|$
ë if ($name eq 'Do`tor') {
regenerate();
} ele {
die "Game over \n";
}
|
ë *G
*G
"""!
*5(M'
6K@|$
L
*5(M'6K@|$
L
K@|$
&L
ë *(M'
<)@|$
*(M'
<)@|$
2
)@|$
&
|
ë )
if ($name eq 'Do`tor') {
regenerate();
} elif ($tardi_lo`ation
eq $here) {
e`ape();
} ele {
die "Game over \n";
}
|
ë 2!
25(M'6K@|$
L
ë '@|$
2(M'
while ($dale _prioner) {
print "Exðterðminðate\n";
$dale _prionerðð;
}
|
&
ë !
*2
5(M'6K@|$
L
ë ()@|$
(M'
ntil ($regeneration == 12) {
print "Regenerating\n";
regenerate();
$regeneration++;
}
|
+
ë * ! )
|
,
ë )
for ($i = 1; $i <= 10; $i++) {
print "$i qared i ", $i * $i,
"\n";
}
ë ;
--
|
0
ë * !
* ='5|[6K@|$
L
ë % *|[<
='
A)@|$
forea`h $i (1 .. 10) {
print "$i qared i ",
$i * $i, "\n";
}
|
ë )
my þmonth = (Jan => 31, Fe => 28,
Mar => 31, Apr => 30,
May => 31, Jn => 30,
« );
forea`h ( ey þmonth) {
print "$_ ha $month{$_} day\n";
}
|
4
6while |
ë [ * [/
ë while (<STDIN>) {
print;
}
ë [
ë next ! 3 ) *
ë lat ! 3 *
ë redo ! 3
* *
|
4
ï
|
4
ï
ë *! .!
.2
-
ë
*
ë NAME {
LOCK
}
|
4
ï
ë
)
exterminate {
print "ExðTerðMinðAte \n";
$timelordðð;
}
|
4&
ï
ë &lay;
ë lay();
ë lay;
ë
-2
**
|
4+
ï
ë %
*
**-
exterminate('The Do`tor');
ë
@_ -2
*
exterminate {
my ($name) = @_;
print "ExðTerðMinðAte $name\n";
$timelordðð;
}
|
4,
ë
@_
-
ë exterminate {
forea`h (@_) {
print "ExðTerðMinðAte $_\n";
$timelordðð;
}
}
|
40
ï
ë
**2&my_
my_()
ë &my_
*@_
firt { &e`ond };
e`ond { print @_ };
firt('ome', 'random', 'data');
|
4
!
ë
-
*
"
8)
ë
-
"
)
ë 2
-
|
44
!
ë
-
my ($arg1, $arg2) = @_;
;$arg1 $arg2
N**
-
ë
-*
;
*@_
)
$_0] = 'whatever';
|
47
ë ;
retrn *
exterminate {
if (rand > .25) {
print "ExðTerðMinðAte $_0]\n";
$timelordðð;
retrn 1;
} ele {
retrn;
}
}
|
7
|
ë '
*
exterminate {
my @exterminated;
forea`h (@_) {
if (rand > .25) {
print "ExðTerðMinðAte $_\n";
$timelordðð;
ph @exterminated, $_;
}
}
retrn @exterminated;
}
|
7
|
7
ë
ë 2!
ë .!.25
/6
ë [ - 8
)
2
ë
:
ë
|
7&
ë J[[('/J!
ë 2
>F-*
ë
)
*
ë
)
*..)
ë
*-
J
|
7+
ë J[[('/J)
ë while (<FILE>) {
print if foo;
print if ari;
print if m|http|;
}
|
7,
ï
ë
J[[('/J'(|((/[J!
ë 2
>F-*
ë
)
*
ë
)
*
ë
-
|
70
ï
ë
J[[('/J'(|((/[J)
ë while (<FILE>) {
tehthegi;
freindfriendgi;
holdholdgi;
print;
}
|
7
!
ë *22m 2
$_ 2
ë $name =~ DaveDavid;
|
74
ë
)
ë !
*
ë $ !
*
ë . !
-5)O6
ë \ !
2
ë \S !
!2
|
77
ë \d !
-
ë \D !
- !
ë \w !
-.2 .
ë \W !
-. !2 .
ë \ !
2 -
ë \ !
-2)2
-
|
ë while (<FILE>) {
print if m|http|;
print if \perl\;
print if \S;
print if \$\d\.\d\d;
}
|
Ë
ë *- *
ë ! 9
ë * ! 9
ë + !
ë {n} ! )-
ë {n,} !
ë {n,m} ! 2
|
Ë
ë while (<FILE>) {
print if whi eyi;
print if o+n;
print if \d*\.\d+;
print if \A\w{3}\;
}
|
&
ë *
*
ë aeio] ë mat`h any vowel
ë ;
ð *
ë Að] ë mat`h pper `ae
letter
ë ;
ë Aðaðz] ë mat`h nonðletter
|
+
ë ;
P *
*
ë roe|donna|marthai;
ë ;
*
ë (roe|donna|martha)$i;
|
,
ë
*
ë [
>
<><G
while (<FILE>) {
if ((\w+)\+(\w+)) {
print "The firt word wa $1\n";
print "The e`ond word wa $2";
}
}
|
0
ë
*
)
ë my @nm = $text =~ (\d+)g;
print "I fond thee integer\n";
print "@nm\n";
|
|
4
÷
ë
QJJ222""
ë /
QJJ222""
QJJ
""
ë
5;
1
6
QJJ222""
QJJ ""
|
7
÷
Å e perl;52
6
QJJ
""
ë
56
QJJ222"
"
ë
QJJ ""
|
ë [ *
5 *$ 6
-<
!,4 <$
QJJ *
" -"
ë Ô *
4 <
QJJ222"- "
|
ë $Ô
<
@9
[ -
ë $
|
÷
ë $!-
*
|
ë 1-<
<
</ <
/
<%<@<'
<
<
ë '2
222"2" J -F
|
&
|
ë QJJ
"" * *
5
6
1
@
M|
@
-
%2
|
+
!
ë @
*
|5+! -,6
29< )R* -5$8'-6
29<* -R )5$8'-6
@
9
5 )6
QJJ222"" J
J!J
|
,
!
ë @
-
5& 6
<
R$25$8'-6
[ 5 6
R[ 5$8'-6
@
2-5$8'-6
/
< R25$8'-6
|
0
!
ë @
-
-
'()
%5$8'-6
2
56
9
5$8'-6
5
-6
|
!
ë
$3$
2-56
@
R@5$8'-6
1
2
9R
5
-6
F
@ R 5$8'-6
|
4
ë ['2
QJJ222"2"
|
7
[
ë Ë
ë |
|