X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltrap.pod;h=0ad0086a599a4656411bb92932a706b1cb099045;hb=6168cf9995a8bfcfe4ab9350ebc7de70215ae9af;hp=835f879949cb42a1b6852ee15de474a37e1c3bbb;hpb=418272e4394459ff8d3580f3ac6ed7225c26fa9a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltrap.pod b/pod/perltrap.pod index 835f879..0ad0086 100644 --- a/pod/perltrap.pod +++ b/pod/perltrap.pod @@ -18,6 +18,11 @@ Accustomed B users should take special note of the following: =item * +A Perl program executes only once, not once for each input line. You can +do an implicit loop with C<-n> or C<-p>. + +=item * + The English module, loaded via use English; @@ -143,9 +148,9 @@ gives you. =back -=head2 C Traps +=head2 C/C++ Traps -Cerebral C programmers should take note of the following: +Cerebral C and C++ programmers should take note of the following: =over 4 @@ -159,13 +164,14 @@ You must use C rather than C. =item * -The C and C keywords from C become in -Perl C and C, respectively. -Unlike in C, these do I work within a C construct. +The C and C keywords from C become in Perl C +and C, respectively. Unlike in C, these do I work within a +C construct. See L. =item * -There's no switch statement. (But it's easy to build one on the fly.) +There's no switch statement. (But it's easy to build one on the fly, +see L) =item * @@ -173,7 +179,9 @@ Variables begin with "$", "@" or "%" in Perl. =item * -Comments begin with "#", not "/*". +Comments begin with "#", not "/*" or "//". Perl may interpret C/C++ +comments as division operators, unterminated regular expressions or +the defined-or operator. =item * @@ -205,6 +213,11 @@ Seasoned B programmers should take note of the following: =item * +A Perl program executes only once, not once for each input line. You can +do an implicit loop with C<-n> or C<-p>. + +=item * + Backreferences in substitutions use "$" rather than "\". =item * @@ -254,6 +267,13 @@ The arguments are available via @ARGV, not $1, $2, etc. The environment is not automatically made available as separate scalar variables. +=item * + +The shell's C uses "=", "!=", "<" etc for string comparisons and "-eq", +"-ne", "-lt" etc for numeric comparisons. This is the reverse of Perl, which +uses C, C, C for string comparisons, and C<==>, C C<< < >> etc +for numeric comparisons. + =back =head2 Perl Traps @@ -1223,6 +1243,10 @@ repeatedly, like C or C. # perl4 prints: perl4 # perl5 prints: perl5 +=item * Regular Expression + +Unlike in Ruby, failed matches in Perl do not reset the match variables +($1, $2, ..., C<$`>, ...). =back