Reference
s
271
to get back the required array. As this is now the array in which we are interested, we
can use standard array syntax to get back our required element, that is we replace the
@
with a 
$
and put the required index in 
[
..
]
on the end. Our required element is
therefore given by the expression:
${$array_2d[1]}[1]
That does the job, but it looks a bit ugly and, if there were more than one level of
indirection, it would just get worse. Surely there’s another way? Remember when
we were accessing elements of an array using the 
$arr_ref->[0]
syntax? We can
make use of that. We said that 
$array_2d[1]
gives us a reference to the array that
we need. We can, therefore, use the 
->
syntax to access the individual elements of
that array. The element that we want is given by:
$array_2d[1]->[1];
which is much simpler. There is one further simplification that we can make. Because
the only way to have multi-dimensional data structures like these is to use references,
Perl knows that any multilevel accesses must involve references. Perl therefore
assumes that there must be a deferencing arrow (
->
) between any two successive sets
of array or hash brackets and, if there isn’t one there, it acts as though it were there
anyway. This means that we can further simplify our expression to:
$array_2d[1][1];
This makes our structure look a lot like a traditional two-dimensional array in a lan-
guage like 
C
or 
BASIC
.
In all of the examples of complex data structures we have used arrays that contain
references to arrays; but it’s just as simple to use arrays that contain hash references,
hashes that contain hash references, or hashes that contain array references (or,
indeed, any even more complex structures). Here are a few examples:
@hobbits = ({ fname => 'bilbo',
lname => 'baggins' },
{ fname => 'frodo',
lname => 'baggins' },
{ fname => 'Sam',
lname => 'Gamgee' });
foreach (@hobbits) {
print $_->{fname}, "\n";
}
%races = ( hobbits => [ 'Bilbo', 'Frodo', 'Sam'],
men => ['Aragorn', 'Boromir', 'Theoden'],
elves => ['Elrond', 'Galadriel', 'Legolas'],
wizards => ['Gandalf', 'Saruman', 'Radagast'] );
foreach (keys %races) {
Pdf save rotated pages - rotate PDF page permanently in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Users to Change the Rotation Angle of PDF File Page Using C#
reverse page order pdf; how to reverse pages in pdf
Pdf save rotated pages - VB.NET PDF Page Rotate Library: rotate PDF page permanently in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
PDF Document Page Rotation in Visual Basic .NET Class Application
pdf reverse page order online; rotate all pages in pdf and save
272
APPENDIX 
E
s
s
ent
i
al Perl
print "Here are some $_\n";
print "@{$races{$_}}\n\n";
}
B.6.5 More informa
t
ion on references and complex da
t
a s
t
ruc
t
ures
The manual page 
perlref
contains a complete guide to references, but it can
sometimes be a little terse for a beginner. The 
perlreftut
manual page is a kinder,
gentler introduction to references.
The 
perllol
manual page contains an introduction to using Perl for the pur-
pose of creating multi-dimensional arrays (or lists of lists—hence the name). The
perldsc
manual page is the data structures cookbook and contains information
about building other kinds of data structures. It comes complete with a substantial
number of detailed examples of creating and using such structures.
B.7
More informa
t
ion on Perl
Chapter 12 contains details of other places to obtain useful information about Perl.
In general the best place to start is with the manual pages which come with your
distribution of Perl. Typing 
perldoc
perl
on your command line will give you an
overview of the various manual pages supplied and should help you decide which
one to read for more detailed information.
VB.NET TIFF: Rotate TIFF Page by Using RaterEdge .NET TIFF
specific formats are: JPEG, PNG, GIF, BMP, PDF, Word (Docx Save the rotated page(s) to new a TIFF Multiple image formats support for saving rotated TIFF page(
rotate pdf page permanently; how to rotate one pdf page
VB.NET Image: Image Rotator SDK; .NET Document Image Rotation
VB.NET image rotator control SDK allows developers to save rotated image as are dedicated to provide powerful & profession imaging controls, PDF document, tiff
rotate pages in pdf online; rotate single page in pdf
273
index
Symbol
s
- operator 62, 261
-- operator 261
!= operator 262
$ 54, 102, 126
anchoring matches 64, 68
metacharacter 61
$
"
102, 103, 109, 126
$& 67
$, 102, 103
$. 100
$
/
55, 126
controlling output 102
reading data 85, 97
record separator 84, 98, 111
special values 113
$::RD_AUTOACTION 215
$::RD_HINT 220
$::RD_TRACE 220
$_ 65, 99, 104, 113, 180
$
|
105
$‘ 67
$’ 67
$1 63, 65, 66, 67, 71
$a 40, 41
$b 40, 41
%
_ 180
& 263
&& operator 262
* operator 61, 63, 64, 261
** operator 261
+ metacharacter 61, 63, 64
+ operator 261
++ operator 261
. operator 61, 261
/
operator 66, 261
< operator 262
<= operator 262
<=> operator 40, 262
<> operator 35, 84
== operator 262
=~ operator 67
> operator 262
>= operator 262
? metacharacter 61, 63, 64
@
item array 214
\ 61
\A 68
\B 64
\b 64
\D 62
\d 62
\S 62
\s 62
\W 62
\w 62, 64
\Z 68
^ metacharacter 61, 64, 68
^ operator 263
{n,m} 64
|
metacharacter 61, 62
|
operator 263
|
|
operator 41, 107, 262
|
|
= 43
~ operator 263
A
-a command line option 54
Aas, Gisle 143
access method 30
ActivePerl 16, 164
ActiveState 16, 164
Aho 162
alt attribute 158
alternate matches 62
alternate phrases 61
anchoring matches 64
and operator 262
anonymous array 83
Apache 123, 124
API 47
Apple Macintosh
carriage return 88
arrays 22, 257
(see also hashes)
array of arrays 82, 85
array of hashes 23, 138
array slice 260
array variable 103
associative arrays 259
context 67, 97, 115
example 83, 86
examples of assignment 257
flexibility 22
lookup 44
reference 269
slice 116
vs. hashes 82
vs. lists 258
arrow operator 260
article 210
ASCII 9, 82, 130
binary 139
character set description 139
converting to EBCDIC 87
data conversion 87
template options 135
ascii2ebcdic 87
example 88
C# TIFF: How to Rotate TIFF Using C# Code in .NET Imaging
VB.NET How-to, VB.NET PDF, VB.NET Word, VB Tiff page, like sorting and saving the rotated Tiff page 0); page.Rotate(RotateOder.Clockwise90); doc.Save(@"C:\rotate
saving rotated pdf pages; how to save a pdf after rotating pages
How to C#: Rotate Image according to Specified angle
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB.NET PowerPoint, VB.NET Tiff, VB.NET Imaging, VB.NET OCR, VB.NET Twain, VB Save the rotated image to
save pdf after rotating pages; how to reverse page order in pdf
274
INDEX
assign 58
attributes 24

30
AutoCommit 236
Chopblanks 235
DECIMAL_DIGITS
239, 240
DECIMAL_FILL 239, 240
DECIMAL_POINT 239, 240
errstr 234
INT_CURR_SYMBOL
239, 240
Kids 234
KILO_SUFFIX 239, 240
LongReadLen 235
LongTruncOk 235
MEGA_SUFFIX 239, 240
MON_DECIMAL_POINT
239, 240
MON_THOUSANDS_SEP
239, 240
NAME 238
NEG_FORMAT 239, 240
NULLABLE 238
NUM_OF_FIELDS 238
PrintError 234
RaiseError 234
statement handle 238
THOUSANDS_SEP 238, 
239, 240
TYPE 238
warn 234
audit log 36

38
audit trail 36

37
awk 61
B
backslash 62
bare block 85
bash 76
benchmarking 51

52

56

76

122
Benchmark.pm 55
Bentley, Jon 38
binary data 14

17

82

150
and $⁄ ⁄ 114
binmode 141
definition 13
file formats 139
line endings 88
PNG file 140
reading data chunks 140
reading the signature 140
working with, 139
144
binding operator 67
binmode 141
bitwise 263
bless 188
block of Perl 40
body 5

218

221
Bowie, David 6
Bragg, Billy 6
Bunce, Tim 47

55
business rules 26

29

38
encapsulation methods 25

26
reason to encapsulate 26
C
C 14

15

16

17
-c command line option 256
C++ 16
caching data
currency conversion 106
Memoize.pm 107
capturing 63

66
caret 64
carriage return 62

88
case transformations 60
CD example 4

5
adding subrecords 151
complex data files 150
complex records 111
113
creating a template 153
data parsing 6
data structure 20

23
25
Data::Dumper 49
grammar 218

219
hash 21

22
parsing 217
printing lists 103
104
Schwartzian transform 43
CD-ROM 9
censor 77
census 4
chain extension 35
channels 194
Chapman, Nigel 17

255
character classes 61

62

83
checksum 142
China 87
chomp 98

99

112
Christiansen, Tom 17

55

255
chunk data 142
chunk footer 142
closelog 37
cmp 41

262
COBOL
128
code 26
reuse 16
colon 64

74
data separated by 73
column widths 133
command line options 53
-a 54
-c 256
-d 256
-e 53
-F 54
-i 54
-M 53
-n 53

54
-p 54
-T 256
-w 256
command line scripts 53

56
comma-separated files (
s
ee CSV)
comp.lang.perl.misc 43
compiled 16
Compiler
s
:
Principle
s
, Technique
s
and Tool
s
162
complex data files 150
g modifier 156
HTML
154
metadata 151
subrecords 151
XML
154
complex data records
expanded CD file 152
reading, example 152
complex data structures
268

272
using references 269
complex sorts 41
Comprehensive Perl Archive 
Network 16
computer science 60
concatenate 51

261
conditional execution 263
connection string 48
consonants 62
context 5
control character 89
control of input 84
VB.NET Imaging - Data Matrix Plug-in SDK Control
Generated Data Matrix barcode image can be freely rotated, resized and code page.AddImage(image, New PointF(100F, 100F)) docx.Save("C:\\Sample_Barcode.pdf").
pdf expert rotate page; how to change page orientation in pdf document
C# HTML5 Viewer: Load, View, Convert, Annotate and Edit OpenOffice
documents, CSV file and Text file are allowed to be rotated. PowerPoint (.ppt, .pptx) on webpage, Convert CSV to PDF file online Users can save annotations to
reverse pdf page order online; pdf rotate page and save
INDEX
275
Convert::EBCDIC 87
example 88
Convert::SciEng 91

92

94
converting number formats 90
converting the character set 87
Conway, Damian 28

38

210

224
cool-talk 76
CPAN 16
ASCII to EBCDIC 
module 87
binary files 143
date modules 120

126
HTML
parser 165
libwww 164
Logfile 124
Memoize.pm 107
MP3
data 144

145
parser module 174
POD
197
reformatting numbers 91
Text::Bastardize module 76
Text::CSV_XS 109
top-down parsers 210
XML parser 178

208
XML parsers 191
CSV 108
anatomy 108
data records 108
generic read
/
write 
routine 110
Text::CSV_XS 109
currency conversion
memoize 107
customer object 29
Customer.pm 29

30
Customer_Rules.pm 27

28
D
-d command line option 256
d00dz 76
dash 62
data
CSV records 109
exchange 176
field 4
fields 109
formats 12
14
reading chunks 140
transformation 6
types of, 256
data conversion 87
ASCII 87
ASCII and EBCDIC 87
binary data 88
converting the character 
set 87
EBCDIC 87
line endings 88
multibyte characters 87
number format 90
reformatting numbers 91
sprintf 91
data file 9

129
corruption check 151
footer 151
header 150
parts of 150
sections 218
data filtering 6
data munging 4

9

17
and data structures 20
audit trail 37
business rules 25
command line scripts 53
examples 8
filter model 33
importance 7
processes 19

22
producing output 23
record-oriented data 98
simple hash 21
sources of data 12
tasks 73
things to know 229
231
usefulness 228
data munging beast 1
data parsing 6
building parsers 209
complex data formats 147
HTML 163
XML 175
data pipes 9

11
data processing 7
data recognition 5

6

16
data record 4
complex structure 110
data sink 9
data source 9

19
data structure
building 216

217
Data::Dumper 51
designing 20

25

38
examples of use, 23
munging processes 19

22
Parse::RecDescent 218
parsing 6
read example 74
reading 82
simple hash 21
transformation 84
Data::Dumper 49

56

222
data_munger 33

34

35
data_reader 33

34
data_writer 33

34
database
and CSV 108
as a datasource 10

47
auditing 36
caching data 106
combining data 19
communicating with 11
connecting 48
data source 9
design 7
read example 49
database driver (
s
ee DBD)
database handle 49
Database Interface (
s
ee DBI)
database schema 10
date
Date::Calc 120
daylight savings time 115
fields 114
formatting 118
functions 114
international formats 120
manipulation 117

120

121
manipulation examples 117

118

121
previous Saturday 121
date modules
benchmarking 122
choosing 122
Date::Calc 126
functions 240
Date::Manip 121

126
functions 242
daylight savings time 115
DBD 47

49

55
DBD::mysql 48
DBI 11

55
assigning attributes 234
connect function 47
functions 48

233

235
VB.NET Word: VB.NET Code to Rotate Word Page Within .NET Imaging
Here, we can recommend you VB.NET PDF page rotating tutorial and multi any original quality during or after the Word page rotating; Save the rotated Word page
rotate pdf pages in reader; pdf rotate pages and save
VB.NET Image: How to Process & Edit Image Using VB.NET Image
permanently? A 2: This VB.NET image editor control SDK allows developers process target image file and save edited image as new file.
rotate pdf pages; how to rotate a pdf page in reader
276
INDEX
DBI (continued)
handle 234
handle attributes 236
prepare function 49
sample program 48
DBM 10
Debug style 181
debugging 49
decimal places 91

136
decoupling 19

20

22
defining record structure 133
field-end markers 134
fixed-width numbers 133
delimited data 101
delimiters 66
Descartes, Alligator 55
digit 62
DOCTYPE 194
Document Object Model 
(
s
ee DOM)
Document Type Definitions 
(
s
ee DTD)
dollar sign 64
DOM 191
domain specific constraints 25
Dominus, Mark-Jason 107

228

229
DOS 82
binary
/
text files 141
carriage return
/
line feed 88
dot character 62
double quotes 104
DTD
setting handlers 189
specialized parsers 193
valid documents 178
dump 172
Dumper 50

51
E
-e command line option 53
e modifier 70

72
EBCDIC
coverting to ASCII 87
data conversion 87
ebcdic2ascii 87
Eckstein, Robert 177
Effective Perl Programming 55
Element
s
of Programming with 
Perl 17

255
elsif 264
emacs 82
email header 64
encapsulate 38
business rules 25
encryption 77
end 64
end-of-record marker 132
English 14
epoch 114

116
eq operator 262
equity research 8
escape sequences 62
eval 70

181
exchange rates 106
Expat 178
exponential notation 90
Extensible Mark-up Language 
(
s
ee XML)
extra data 112
F
-F command line option 54
fatal exception 181
fetchrow_array 49
field separator 112
field-end markers 134
fields 103

112
extracting 100

130
web access log 123
file handle 100
no end-of-record marker 132
output 104

105
reading data 97
writing fixed-width data 136
file input operator 97

98

99
file open 15
file pointer 132
file transfer methods 9
File Transfer Protocol (
s
ee FTP)
file transfers 10
filename 36
filtering 4

17
filter model 11

32

35
line end conversion 89
financial models 8
finite state machine 160
fixed-width data 101

128
139
data item 128
defining record structure 133
encode field structures 135
end-of-record, example 132
end-of-record marker 132
extracting fields, example
129

130
multiple record types
131

133
pack 135
printf 136
reading 128
record description 128
record padding 128
sprintf 136
sprintf, example 137
template 130

131
writing 135
fixing 91
floating point numbers 136
floating points 90
floppy disk 9
flushed 105
footer 5

218

221
foreach 113
form feed 62
format description 136
format specifier 137
format_bytes
example 93
format_negative
example 93

94
format_number
example 93
format_picture
example 93
free beer 15
Free Software Foundation 15
free speech 15
Friedl, Jeffrey 78
FTP 9
fun 17
functions 26
Add_Delta_Days 242
available_drivers 233
bind_col 237
bind_columns 238
bind_param 236
bind_param_inout 236
called from DBI 233
called via statement 
handle 236
check_date 241
INDEX
277
functions (continued)
chomp 98

99

112
commit 236
connect 48

233
data_sources 233
Date_Cmp 243
Date_DayOfWeek 244
Date_DayOfYear 244
Date_DaysInMonth 244
Date_DaysInYear 244
Date_DaySuffix 244
Date_GetPrev 243
Date_LeapYear 244
Date_to_Text 242
DateCalc 243
Day_of_Week 241
Day_of_Year 241
Days_in_Month 240
Days_in_Year 240
Decode_Month 242
Delta_Days 241
Delta_DHMS 241
do 235
each 260
Easter_Sunday 242
errstr 234
execute 237
fetch 237
fetchall_arrayref 237
fetchrow_array 237
fetchrow_arrayref 237
fetchrow_hashref 237
finish 237
get 244
get_rate 107
getprint 245
getstore 245
gmtime 115
handler 246
head 244
keys 260
leap_year 241
localtime 115

116
map 261
memoize 107
mirror 245
Monday_of_Week 241
new 245
Nth_Weekday_of_Month_Year
241
open 97
pack 135
parse 245
parse_file 245
ParseDate 122

123
ParseDateString 242
ParseDelta 243
ParseRecur 243
prepare 49
print 103

115
printf 135
read 132
ref 269
return 268
rollback 236
seek 132
select 104
selectall_arrayref 235
selectrow_array 235
sprintf 135

138
strftime 118
strict_comment 245
strict_names 246
substr 129

132
System_Clock 242
time 116
timelocal 116
trace 234
UnixDate 243
unpack 130

132

133

134
values 260
Week_Number 241
xml_mode 246
G
g modifier 69

71

85

156
gcc 15
ge operator 262
general principles 19
get 164
get_next_cust_no 27
get_rate 107
Getopt::Std 203
getprint 164
getstore 164

172
getting Perl 15
GIF 139

143
creating 140
gmtime 115
GNU 15
grammar 211

214

215
debugging 220
syntax errors 220
Windows INI 213
graphics files 139
Graphics Interchange Format 
(
s
ee GIF)
graphs 7
greedy, definition 156
grep 61
group 63
group of characters 61
grouping 63
gt operator 262
Guttman, Uri 46
Guttman-Rosler transform 46
H
Hall, Joseph 42

55
handler 165
Handlers 189
hash 22

86
hash lookup 44
hashes 259
accessing values 260
converting from a list 261
hash slice 260
reference 269
syntax 260
header 4

218
HTML tags 171
processing 5
processing, example of, 153
rule 221
hierarchical 17
hierarchical data 13
Hietaniemi, Jarkko 55
Horatio 58
HTML 12

13

173
converting from XML 197
entities 167
extracting <h1> elements 169
extracting from the web 164
listing header tags 170
listing specific links 168
parsing 154
parsing example 165

171

172
parsing links 168
prebuilt parsers 167
removing tags 154

155
tag 165
278
INDEX
HTML (continued)
tag attributes 157
testing the parser 166
HTML::Element 171

172
HTML::LinkExtor 167

168

169
functions 247
HTML::Parser 154

161

165

174
functions 245
handlers 246
HTML::TokeParser 169

173
functions 248
HTML::TreeBuilder 171
functions 249
HTTP 12
extracting data WWW 164
hyperreductionist English 76
Hypertext Mark-up Language 
(
s
ee HTML)
I
-i 54
-i command line option 54
i modifier 68

69
I
/
O
chaining 35
independence 33

38
pipes 32
redirection 31

32
IBM
data conversion 87
if 14

263

264
Image::Info 143

145
index 78
Information Systems 7
Information Technology 7
input 19
record separator 55

102
record separator example
111

113
record separator, reading 97
routine 20
integers 90

136
international date formats 120
Internet 12
interpolate 51
interpreted 16
interstices 8

228
IP addresses 46
is_valid_sales_ref 28
J
jaded 17
Japan 87
Jargon File 4
Johnson, Andrew 17

255
JPG 143
K
k3wl 76
Kernigan, Brian 38
keyboard 31
L
label 54
lc 60
lcfirst 60
le operator 262
league table 4
leaning toothpick syndrome 66
Learning Perl 17

255
left align 91
lexer 160
lexical variable 74
Library for WWW Programming 
(
s
ee LWP)
line end conversion 89
line endings 88
line feed 62

88
linguistics 14
links, HTML 167
Linux
line feed 88
list
separator variable 103
vs. arrays 258
list functions 259
listing particular users 76
listing users 75
load_products 35
locale 60
localtime 115

118

122
Logfile 124

125
logic 25
logical operators 263
bitwise 263
loops 264
control of, 265
for 264
foreach 265
last 265
next 265
redo 265
while 265
Lotus 139
Loukides, Mike 38
lower case 60
lp 75
lvalue 58
LWP 172

174
getting HTML from the 
WWW 164
mailing list 174
LWP::Simple 164

173
functions 244
M
-M command line option 53
m modifier 65

66

68

69
m⁄⁄ 65

78
Macdonald, John 55
make 15
map 44
Ma
s
tering Algorithm
s
with 
Perl 55
Ma
s
tering 
R
egular 
Expre
s
s
ion
s
78
match modifiers 65

68
match operator 68
matching alternatives 62
memoize 107
Memoize.pm 107
metacharacters 61
metadata 133

135

150
definition 151
methods
format_bytes 240
format_negative 240
format_number 239
format_picture 240
format_price 240
round 239
unformat_number 240
Microsoft 139
Access 10
Excel 139
Windows 31
Word 61
MIME 9
INDEX
279
modifiers 71
g 85
m 68
o 90
s 68
x 68
modules
business rules 26

27

38
convert::SciEng 91
Data::Calc 240
Date::Manip 242
HTML:: Element 249
HTML::Element 171
HTML::LinkExtor 167

247
HTML::Parser 154

247
HTML::TokeParser 169

248
HTML::TreeBuilder 171

249
Image::Info 143
LWP 164
LWP::Simple 164

244
MPEG::MP3Info 144
Number::Format 91

238
Parse::RecDescent 153

162
Parse::Yapp 162
POSIX 118
Time::Local 116
XML::DOM 191
XML::Parser 154

161

178

250
monitor 31
MP3 files 143
ID3 data 144
MPEG::MP3Info 144

145
multibyte characters 87
multiple record types 131
munge 4
munging 19
My Netscape 193
MySQL 48
N
-n command line option 53

54
Named Pipe 11
Nandor, Chris 144

193
natural code 228
natural numbers 90
ne operator 262
Network File System (
s
ee NFS)
newline character 113

257
as field separator 112
input control 84
metacharacter 62
output records 102
record-oriented data 97
NFS 9
node 184
noncolon 64
nondigit 62
nongreedy 156
nonspace character 62
nonvowel 62
nonword character 62
normalization 7
Notepad 82
noun_phrase 210
Number::Format 91

92

94
attributes 238
example 93

94
methods 239
numerical abbreviations 77
numerically 40
O
o modifier 70

90
O’Reilly, Tim 38
object 26

38

210
object class 28
Object Oriented Perl 28

38
Object style
vs. Tree 188
object-oriented programming 
(
s
ee OOP)
objects 38
Objects style 186
OOP 28
open function 97
Open Source 140
openlog 37
operators 84
concatenation 261
logical 262
mathematical 261
string multiplication 261
optional 61
or operator 262
Oracle 10

47
oraperl 47
Orcish Manoeuvre 42

55

107
Orwant, Jon 17

55
output 19

31
buffer 105
field separator 102

103
file handle 105
list separator 102
record separator 54

102
routine 19

20
P
-p 54
-p command line option 54
pack 135

141

144
packed-default sort 46
padding 128
paragraph mode 84

113
parameter passing 267
parameters 58
parentheses 63

65
parse tree 172
Parse::RecDescent 153

162

210

216
$::RD_AUTOACTION 215
$::RD_HINT 220
$::RD_TRACE 220
autotrees 223
dynamic rules 224
error handling 224
example 217
incremental parsing 224
look-ahead rules 223
precompiling parsers 224
subrule argument 224
Parse::Yapp 162
parse_file 165

172
ParseDate 122

123
parsefile 184

192

196
parser actions 217
parsers 154
adding actions 220
building your own 209
checking output 222
HTML 154
HTML::Element 171
HTML::LinkExtor 167
HTML::Parser 165
HTML::TokeParser 169
HTML::TreeBuilder 171
Parse::RecDescent 153

210
Parse::Yapp 162
XML::DOM 191
XML::Parser 178
XML::RSS 193
280
INDEX
parsing 4

17
(
s
ee al
s
o data parsing)
actions 214
bottom-up 160
building a data structure 216
definition 158
example, simple English 
sentences 210
failures 180
HTML 157

158

165
s
ee al
s
o

HTML, example 171
HTML, prebuilt parsers 167
jargon 159
LL parser 161
LR parser 160
parser object, creating 211
production 159
regular expressions 214
RSS file, example 196
structured data 157
subrules 159
terminal 159
testing for HTML 166
tokens 159
top-down 161
Windows INI 212
XML 178

187

189
s
ee al
s

password 48
pattern matching 58

60
payroll 4

7
Peek, Jerry 38
performance 76
Perl 8

14
16

17
arrays 82

129
benchmarking date 
modules 122
building parsers 210
command line options 255

256
command line scripts 53
community 229
complex data structures 268
complex record structure 111
conditional execution 263
data munging advantages 16
data structure 16
data types 256
date and time manipulation 117
daylight savings time 115
dealing with complex 
records 110
default variable 99
end-of-record marker 132
fixed-width data 130
flow of control 263
getting HTML from the 
WWW 164
handling dates 114
HTML parsing 157
idioms 40
input record separator 112
international date formats 120
interpreter 48

255

256
line ends 89
local time 115
loops 264
multibyte characters 87
opening a file 262
operators 261
output file handles 105
parsers 161

162
record-oriented data 97

98
references 268
references and complex data 
structures 269
regular expressions 61

65
running 255
sorting 40
string handling 58
subroutines 266
substrings 59
variables 256
web access logs 124
why use 228
writing objects 38
writing separate records 102
XML parsers 178
Perl Mongers 229
Perl Monks 229
Perl
:
The Programmer’
s
Companion 17

255
perldata 261
perldoc 17

55
perlfunc 126

141

144
perlre 61

77
perlrun 256
perlunicode 94
perlvar 94

126
perltoot 28
phrase matching 61
phrases 61
Pig Latin 76
Pike, Rob 38
pipe separated files 108
plain old documentation 
(
s
ee  POD)
plain text 12

197
PNG files 140

143
IHDR chunk 142
reading 140
signature 141
testing the reader 143
POD 197
pointers (
s
ee references)
pop 259
port number 12
Portable Network Graphics 
(
s
ee PNG files)
positive integers 90
positive lookahead 65
POSIX 118
POSIX::strftime 120

126
postfix 91
prebuilt parsers 161
print 58

115
lists of items 103
record-oriented data 102
to different file handles 104
printf 135

144
producing different document 
formats 197
production 159
program input 31
programmers 17
Programming Pearl
s
38
Programming Perl 17
Programming the Perl DB
I
55
Programming Web Graphic
s
with 
Perl & G
N
U Software 140
pronoun 210
pseudocode 19
punctuation 62

66
push 259
Q
quantifying matches 63
Quicksort 42
R
RDBMS 10

11
read 132

144
Documents you may be interested
Documents you may be interested