Commit | Line | Data |
---|---|---|
920dae64 AT |
1 | .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 |
2 | .\" | |
3 | .\" Standard preamble: | |
4 | .\" ======================================================================== | |
5 | .de Sh \" Subsection heading | |
6 | .br | |
7 | .if t .Sp | |
8 | .ne 5 | |
9 | .PP | |
10 | \fB\\$1\fR | |
11 | .PP | |
12 | .. | |
13 | .de Sp \" Vertical space (when we can't use .PP) | |
14 | .if t .sp .5v | |
15 | .if n .sp | |
16 | .. | |
17 | .de Vb \" Begin verbatim text | |
18 | .ft CW | |
19 | .nf | |
20 | .ne \\$1 | |
21 | .. | |
22 | .de Ve \" End verbatim text | |
23 | .ft R | |
24 | .fi | |
25 | .. | |
26 | .\" Set up some character translations and predefined strings. \*(-- will | |
27 | .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left | |
28 | .\" double quote, and \*(R" will give a right double quote. | will give a | |
29 | .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to | |
30 | .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' | |
31 | .\" expand to `' in nroff, nothing in troff, for use with C<>. | |
32 | .tr \(*W-|\(bv\*(Tr | |
33 | .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' | |
34 | .ie n \{\ | |
35 | . ds -- \(*W- | |
36 | . ds PI pi | |
37 | . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch | |
38 | . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch | |
39 | . ds L" "" | |
40 | . ds R" "" | |
41 | . ds C` "" | |
42 | . ds C' "" | |
43 | 'br\} | |
44 | .el\{\ | |
45 | . ds -- \|\(em\| | |
46 | . ds PI \(*p | |
47 | . ds L" `` | |
48 | . ds R" '' | |
49 | 'br\} | |
50 | .\" | |
51 | .\" If the F register is turned on, we'll generate index entries on stderr for | |
52 | .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index | |
53 | .\" entries marked with X<> in POD. Of course, you'll have to process the | |
54 | .\" output yourself in some meaningful fashion. | |
55 | .if \nF \{\ | |
56 | . de IX | |
57 | . tm Index:\\$1\t\\n%\t"\\$2" | |
58 | .. | |
59 | . nr % 0 | |
60 | . rr F | |
61 | .\} | |
62 | .\" | |
63 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes | |
64 | .\" way too many mistakes in technical documents. | |
65 | .hy 0 | |
66 | .if n .na | |
67 | .\" | |
68 | .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). | |
69 | .\" Fear. Run. Save yourself. No user-serviceable parts. | |
70 | . \" fudge factors for nroff and troff | |
71 | .if n \{\ | |
72 | . ds #H 0 | |
73 | . ds #V .8m | |
74 | . ds #F .3m | |
75 | . ds #[ \f1 | |
76 | . ds #] \fP | |
77 | .\} | |
78 | .if t \{\ | |
79 | . ds #H ((1u-(\\\\n(.fu%2u))*.13m) | |
80 | . ds #V .6m | |
81 | . ds #F 0 | |
82 | . ds #[ \& | |
83 | . ds #] \& | |
84 | .\} | |
85 | . \" simple accents for nroff and troff | |
86 | .if n \{\ | |
87 | . ds ' \& | |
88 | . ds ` \& | |
89 | . ds ^ \& | |
90 | . ds , \& | |
91 | . ds ~ ~ | |
92 | . ds / | |
93 | .\} | |
94 | .if t \{\ | |
95 | . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" | |
96 | . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' | |
97 | . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' | |
98 | . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' | |
99 | . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' | |
100 | . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' | |
101 | .\} | |
102 | . \" troff and (daisy-wheel) nroff accents | |
103 | .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' | |
104 | .ds 8 \h'\*(#H'\(*b\h'-\*(#H' | |
105 | .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] | |
106 | .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' | |
107 | .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' | |
108 | .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] | |
109 | .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] | |
110 | .ds ae a\h'-(\w'a'u*4/10)'e | |
111 | .ds Ae A\h'-(\w'A'u*4/10)'E | |
112 | . \" corrections for vroff | |
113 | .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' | |
114 | .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' | |
115 | . \" for low resolution devices (crt and lpr) | |
116 | .if \n(.H>23 .if \n(.V>19 \ | |
117 | \{\ | |
118 | . ds : e | |
119 | . ds 8 ss | |
120 | . ds o a | |
121 | . ds d- d\h'-1'\(ga | |
122 | . ds D- D\h'-1'\(hy | |
123 | . ds th \o'bp' | |
124 | . ds Th \o'LP' | |
125 | . ds ae ae | |
126 | . ds Ae AE | |
127 | .\} | |
128 | .rm #[ #] #H #V #F C | |
129 | .\" ======================================================================== | |
130 | .\" | |
131 | .IX Title "PERLMODINSTALL 1" | |
132 | .TH PERLMODINSTALL 1 "2006-01-07" "perl v5.8.8" "Perl Programmers Reference Guide" | |
133 | .SH "NAME" | |
134 | perlmodinstall \- Installing CPAN Modules | |
135 | .SH "DESCRIPTION" | |
136 | .IX Header "DESCRIPTION" | |
137 | You can think of a module as the fundamental unit of reusable Perl | |
138 | code; see perlmod for details. Whenever anyone creates a chunk of | |
139 | Perl code that they think will be useful to the world, they register | |
140 | as a Perl developer at http://www.cpan.org/modules/04pause.html | |
141 | so that they can then upload their code to the \s-1CPAN\s0. The \s-1CPAN\s0 is the | |
142 | Comprehensive Perl Archive Network and can be accessed at | |
143 | http://www.cpan.org/ , and searched at http://search.cpan.org/ . | |
144 | .PP | |
145 | This documentation is for people who want to download \s-1CPAN\s0 modules | |
146 | and install them on their own computer. | |
147 | .Sh "\s-1PREAMBLE\s0" | |
148 | .IX Subsection "PREAMBLE" | |
149 | First, are you sure that the module isn't already on your system? Try | |
150 | \&\f(CW\*(C`perl \-MFoo \-e 1\*(C'\fR. (Replace \*(L"Foo\*(R" with the name of the module; for | |
151 | instance, \f(CW\*(C`perl \-MCGI::Carp \-e 1\*(C'\fR. | |
152 | .PP | |
153 | If you don't see an error message, you have the module. (If you do | |
154 | see an error message, it's still possible you have the module, but | |
155 | that it's not in your path, which you can display with \f(CW\*(C`perl \-e | |
156 | "print qq(@INC)"\*(C'\fR.) For the remainder of this document, we'll assume | |
157 | that you really honestly truly lack an installed module, but have | |
158 | found it on the \s-1CPAN\s0. | |
159 | .PP | |
160 | So now you have a file ending in .tar.gz (or, less often, .zip). You | |
161 | know there's a tasty module inside. There are four steps you must now | |
162 | take: | |
163 | .IP "\fB\s-1DECOMPRESS\s0\fR the file" 5 | |
164 | .IX Item "DECOMPRESS the file" | |
165 | .PD 0 | |
166 | .IP "\fB\s-1UNPACK\s0\fR the file into a directory" 5 | |
167 | .IX Item "UNPACK the file into a directory" | |
168 | .IP "\fB\s-1BUILD\s0\fR the module (sometimes unnecessary)" 5 | |
169 | .IX Item "BUILD the module (sometimes unnecessary)" | |
170 | .IP "\fB\s-1INSTALL\s0\fR the module." 5 | |
171 | .IX Item "INSTALL the module." | |
172 | .PD | |
173 | .PP | |
174 | Here's how to perform each step for each operating system. This is | |
175 | <not> a substitute for reading the \s-1README\s0 and \s-1INSTALL\s0 files that | |
176 | might have come with your module! | |
177 | .PP | |
178 | Also note that these instructions are tailored for installing the | |
179 | module into your system's repository of Perl modules \*(-- but you can | |
180 | install modules into any directory you wish. For instance, where I | |
181 | say \f(CW\*(C`perl Makefile.PL\*(C'\fR, you can substitute \f(CW\*(C`perl Makefile.PL | |
182 | PREFIX=/my/perl_directory\*(C'\fR to install the modules into | |
183 | \&\f(CW\*(C`/my/perl_directory\*(C'\fR. Then you can use the modules from your Perl | |
184 | programs with \f(CW\*(C`use lib "/my/perl_directory/lib/site_perl";\*(C'\fR or | |
185 | sometimes just \f(CW\*(C`use "/my/perl_directory";\*(C'\fR. If you're on a system | |
186 | that requires superuser/root access to install modules into the | |
187 | directories you see when you type \f(CW\*(C`perl \-e "print qq(@INC)"\*(C'\fR, you'll | |
188 | want to install them into a local directory (such as your home | |
189 | directory) and use this approach. | |
190 | .IP "\(bu" 4 | |
191 | \&\fBIf you're on a Unix or Unix-like system,\fR | |
192 | .Sp | |
193 | You can use Andreas Koenig's \s-1CPAN\s0 module | |
194 | ( http://www.cpan.org/modules/by\-module/CPAN ) | |
195 | to automate the following steps, from \s-1DECOMPRESS\s0 through \s-1INSTALL\s0. | |
196 | .Sp | |
197 | A. \s-1DECOMPRESS\s0 | |
198 | .Sp | |
199 | Decompress the file with \f(CW\*(C`gzip \-d yourmodule.tar.gz\*(C'\fR | |
200 | .Sp | |
201 | You can get gzip from ftp://prep.ai.mit.edu/pub/gnu/ | |
202 | .Sp | |
203 | Or, you can combine this step with the next to save disk space: | |
204 | .Sp | |
205 | .Vb 1 | |
206 | \& gzip -dc yourmodule.tar.gz | tar -xof - | |
207 | .Ve | |
208 | .Sp | |
209 | B. \s-1UNPACK\s0 | |
210 | .Sp | |
211 | Unpack the result with \f(CW\*(C`tar \-xof yourmodule.tar\*(C'\fR | |
212 | .Sp | |
213 | C. \s-1BUILD\s0 | |
214 | .Sp | |
215 | Go into the newly-created directory and type: | |
216 | .Sp | |
217 | .Vb 2 | |
218 | \& perl Makefile.PL | |
219 | \& make test | |
220 | .Ve | |
221 | .Sp | |
222 | or | |
223 | .Sp | |
224 | .Vb 1 | |
225 | \& perl Makefile.PL PREFIX=/my/perl_directory | |
226 | .Ve | |
227 | .Sp | |
228 | to install it locally. (Remember that if you do this, you'll have to | |
229 | put \f(CW\*(C`use lib "/my/perl_directory";\*(C'\fR near the top of the program that | |
230 | is to use this module. | |
231 | .Sp | |
232 | D. \s-1INSTALL\s0 | |
233 | .Sp | |
234 | While still in that directory, type: | |
235 | .Sp | |
236 | .Vb 1 | |
237 | \& make install | |
238 | .Ve | |
239 | .Sp | |
240 | Make sure you have the appropriate permissions to install the module | |
241 | in your Perl 5 library directory. Often, you'll need to be root. | |
242 | .Sp | |
243 | That's all you need to do on Unix systems with dynamic linking. | |
244 | Most Unix systems have dynamic linking \*(-- if yours doesn't, or if for | |
245 | another reason you have a statically-linked perl, \fBand\fR the | |
246 | module requires compilation, you'll need to build a new Perl binary | |
247 | that includes the module. Again, you'll probably need to be root. | |
248 | .IP "\(bu" 4 | |
249 | \&\fBIf you're running ActivePerl (Win95/98/2K/NT/XP, Linux, Solaris)\fR | |
250 | .Sp | |
251 | First, type \f(CW\*(C`ppm\*(C'\fR from a shell and see whether ActiveState's \s-1PPM\s0 | |
252 | repository has your module. If so, you can install it with \f(CW\*(C`ppm\*(C'\fR and | |
253 | you won't have to bother with any of the other steps here. You might | |
254 | be able to use the \s-1CPAN\s0 instructions from the \*(L"Unix or Linux\*(R" section | |
255 | above as well; give it a try. Otherwise, you'll have to follow the | |
256 | steps below. | |
257 | .Sp | |
258 | .Vb 1 | |
259 | \& A. DECOMPRESS | |
260 | .Ve | |
261 | .Sp | |
262 | You can use the shareware Winzip ( http://www.winzip.com ) to | |
263 | decompress and unpack modules. | |
264 | .Sp | |
265 | .Vb 1 | |
266 | \& B. UNPACK | |
267 | .Ve | |
268 | .Sp | |
269 | If you used WinZip, this was already done for you. | |
270 | .Sp | |
271 | .Vb 1 | |
272 | \& C. BUILD | |
273 | .Ve | |
274 | .Sp | |
275 | You'll need the \f(CW\*(C`nmake\*(C'\fR utility, available at | |
276 | http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN\-US/nmake15.exe | |
277 | or dmake, available on \s-1CPAN\s0. | |
278 | http://search.cpan.org/dist/dmake/ | |
279 | .Sp | |
280 | Does the module require compilation (i.e. does it have files that end | |
281 | in .xs, .c, .h, .y, .cc, .cxx, or .C)? If it does, life is now | |
282 | officially tough for you, because you have to compile the module | |
283 | yourself \*(-- no easy feat on Windows. You'll need a compiler such as | |
284 | Visual \*(C+. Alternatively, you can download a pre-built \s-1PPM\s0 package | |
285 | from ActiveState. | |
286 | http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/ | |
287 | .Sp | |
288 | Go into the newly-created directory and type: | |
289 | .Sp | |
290 | .Vb 2 | |
291 | \& perl Makefile.PL | |
292 | \& nmake test | |
293 | .Ve | |
294 | .Sp | |
295 | .Vb 1 | |
296 | \& D. INSTALL | |
297 | .Ve | |
298 | .Sp | |
299 | While still in that directory, type: | |
300 | .Sp | |
301 | .Vb 1 | |
302 | \& nmake install | |
303 | .Ve | |
304 | .IP "\(bu" 4 | |
305 | \&\fBIf you're using a Macintosh with \*(L"Classic\*(R" MacOS and MacPerl,\fR | |
306 | .Sp | |
307 | A. \s-1DECOMPRESS\s0 | |
308 | .Sp | |
309 | First, make sure you have the latest \fBcpan-mac\fR distribution ( | |
310 | http://www.cpan.org/authors/id/CNANDOR/ ), which has utilities for | |
311 | doing all of the steps. Read the cpan-mac directions carefully and | |
312 | install it. If you choose not to use cpan-mac for some reason, there | |
313 | are alternatives listed here. | |
314 | .Sp | |
315 | After installing cpan\-mac, drop the module archive on the | |
316 | \&\fBuntarzipme\fR droplet, which will decompress and unpack for you. | |
317 | .Sp | |
318 | \&\fBOr\fR, you can either use the shareware \fBStuffIt Expander\fR program | |
319 | ( http://www.aladdinsys.com/expander/ ) | |
320 | in combination with \fBDropStuff with Expander Enhancer\fR | |
321 | ( http://www.aladdinsys.com/dropstuff/ ) | |
322 | or the freeware \fBMacGzip\fR program ( | |
323 | http://persephone.cps.unizar.es/general/gente/spd/gzip/gzip.html ). | |
324 | .Sp | |
325 | B. \s-1UNPACK\s0 | |
326 | .Sp | |
327 | If you're using untarzipme or StuffIt, the archive should be extracted | |
328 | now. \fBOr\fR, you can use the freeware \fBsuntar\fR or \fITar\fR ( | |
329 | http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/ ). | |
330 | .Sp | |
331 | C. \s-1BUILD\s0 | |
332 | .Sp | |
333 | Check the contents of the distribution. | |
334 | Read the module's documentation, looking for | |
335 | reasons why you might have trouble using it with MacPerl. Look for | |
336 | \&\fI.xs\fR and \fI.c\fR files, which normally denote that the distribution | |
337 | must be compiled, and you cannot install it \*(L"out of the box.\*(R" | |
338 | (See \*(L"\s-1PORTABILITY\s0\*(R".) | |
339 | .Sp | |
340 | If a module does not work on MacPerl but should, or needs to be | |
341 | compiled, see if the module exists already as a port on the | |
342 | MacPerl Module Porters site ( http://pudge.net/mmp/ ). | |
343 | For more information on doing \s-1XS\s0 with MacPerl yourself, see | |
344 | Arved Sandstrom's \s-1XS\s0 tutorial ( http://macperl.com/depts/Tutorials/ ), | |
345 | and then consider uploading your binary to the \s-1CPAN\s0 and | |
346 | registering it on the \s-1MMP\s0 site. | |
347 | .Sp | |
348 | D. \s-1INSTALL\s0 | |
349 | .Sp | |
350 | If you are using cpan\-mac, just drop the folder on the | |
351 | \&\fBinstallme\fR droplet, and use the module. | |
352 | .Sp | |
353 | \&\fBOr\fR, if you aren't using cpan\-mac, do some manual labor. | |
354 | .Sp | |
355 | Make sure the newlines for the modules are in Mac format, not Unix format. | |
356 | If they are not then you might have decompressed them incorrectly. Check | |
357 | your decompression and unpacking utilities settings to make sure they are | |
358 | translating text files properly. | |
359 | .Sp | |
360 | As a last resort, you can use the perl one\-liner: | |
361 | .Sp | |
362 | .Vb 1 | |
363 | \& perl -i.bak -pe 's/(?:\e015)?\e012/\e015/g' <filenames> | |
364 | .Ve | |
365 | .Sp | |
366 | on the source files. | |
367 | .Sp | |
368 | Then move the files (probably just the \fI.pm\fR files, though there | |
369 | may be some additional ones, too; check the module documentation) | |
370 | to their final destination: This will | |
371 | most likely be in \f(CW\*(C`$ENV{MACPERL}site_lib:\*(C'\fR (i.e., | |
372 | \&\f(CW\*(C`HD:MacPerl folder:site_lib:\*(C'\fR). You can add new paths to | |
373 | the default \f(CW@INC\fR in the Preferences menu item in the | |
374 | MacPerl application (\f(CW\*(C`$ENV{MACPERL}site_lib:\*(C'\fR is added | |
375 | automagically). Create whatever directory structures are required | |
376 | (i.e., for \f(CW\*(C`Some::Module\*(C'\fR, create | |
377 | \&\f(CW\*(C`$ENV{MACPERL}site_lib:Some:\*(C'\fR and put | |
378 | \&\f(CW\*(C`Module.pm\*(C'\fR in that directory). | |
379 | .Sp | |
380 | Then run the following script (or something like it): | |
381 | .Sp | |
382 | .Vb 4 | |
383 | \& #!perl -w | |
384 | \& use AutoSplit; | |
385 | \& my $dir = "${MACPERL}site_perl"; | |
386 | \& autosplit("$dir:Some:Module.pm", "$dir:auto", 0, 1, 1); | |
387 | .Ve | |
388 | .IP "\(bu" 4 | |
389 | \&\fBIf you're on the \s-1DJGPP\s0 port of \s-1DOS\s0,\fR | |
390 | .Sp | |
391 | .Vb 1 | |
392 | \& A. DECOMPRESS | |
393 | .Ve | |
394 | .Sp | |
395 | djtarx ( ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2/ ) | |
396 | will both uncompress and unpack. | |
397 | .Sp | |
398 | .Vb 1 | |
399 | \& B. UNPACK | |
400 | .Ve | |
401 | .Sp | |
402 | See above. | |
403 | .Sp | |
404 | .Vb 1 | |
405 | \& C. BUILD | |
406 | .Ve | |
407 | .Sp | |
408 | Go into the newly-created directory and type: | |
409 | .Sp | |
410 | .Vb 2 | |
411 | \& perl Makefile.PL | |
412 | \& make test | |
413 | .Ve | |
414 | .Sp | |
415 | You will need the packages mentioned in \fI\s-1README\s0.dos\fR | |
416 | in the Perl distribution. | |
417 | .Sp | |
418 | .Vb 1 | |
419 | \& D. INSTALL | |
420 | .Ve | |
421 | .Sp | |
422 | While still in that directory, type: | |
423 | .Sp | |
424 | .Vb 1 | |
425 | \& make install | |
426 | .Ve | |
427 | .Sp | |
428 | You will need the packages mentioned in \fI\s-1README\s0.dos\fR in the Perl distribution. | |
429 | .IP "\(bu" 4 | |
430 | \&\fBIf you're on \s-1OS/2\s0,\fR | |
431 | .Sp | |
432 | Get the \s-1EMX\s0 development suite and gzip/tar, from either Hobbes ( | |
433 | http://hobbes.nmsu.edu ) or Leo ( http://www.leo.org ), and then follow | |
434 | the instructions for Unix. | |
435 | .IP "\(bu" 4 | |
436 | \&\fBIf you're on \s-1VMS\s0,\fR | |
437 | .Sp | |
438 | When downloading from \s-1CPAN\s0, save your file with a \f(CW\*(C`.tgz\*(C'\fR | |
439 | extension instead of \f(CW\*(C`.tar.gz\*(C'\fR. All other periods in the | |
440 | filename should be replaced with underscores. For example, | |
441 | \&\f(CW\*(C`Your\-Module\-1.33.tar.gz\*(C'\fR should be downloaded as | |
442 | \&\f(CW\*(C`Your\-Module\-1_33.tgz\*(C'\fR. | |
443 | .Sp | |
444 | A. \s-1DECOMPRESS\s0 | |
445 | .Sp | |
446 | Type | |
447 | .Sp | |
448 | .Vb 1 | |
449 | \& gzip -d Your-Module.tgz | |
450 | .Ve | |
451 | .Sp | |
452 | or, for zipped modules, type | |
453 | .Sp | |
454 | .Vb 1 | |
455 | \& unzip Your-Module.zip | |
456 | .Ve | |
457 | .Sp | |
458 | Executables for gzip, zip, and VMStar: | |
459 | .Sp | |
460 | .Vb 2 | |
461 | \& http://www.openvms.digital.com/freeware/ | |
462 | \& http://www.crinoid.com/utils/ | |
463 | .Ve | |
464 | .Sp | |
465 | and their source code: | |
466 | .Sp | |
467 | .Vb 1 | |
468 | \& http://www.fsf.org/order/ftp.html | |
469 | .Ve | |
470 | .Sp | |
471 | Note that \s-1GNU\s0's gzip/gunzip is not the same as Info\-ZIP's zip/unzip | |
472 | package. The former is a simple compression tool; the latter permits | |
473 | creation of multi-file archives. | |
474 | .Sp | |
475 | B. \s-1UNPACK\s0 | |
476 | .Sp | |
477 | If you're using VMStar: | |
478 | .Sp | |
479 | .Vb 1 | |
480 | \& VMStar xf Your-Module.tar | |
481 | .Ve | |
482 | .Sp | |
483 | Or, if you're fond of \s-1VMS\s0 command syntax: | |
484 | .Sp | |
485 | .Vb 1 | |
486 | \& tar/extract/verbose Your_Module.tar | |
487 | .Ve | |
488 | .Sp | |
489 | C. \s-1BUILD\s0 | |
490 | .Sp | |
491 | Make sure you have \s-1MMS\s0 (from Digital) or the freeware \s-1MMK\s0 ( available | |
492 | from MadGoat at http://www.madgoat.com ). Then type this to create | |
493 | the \s-1DESCRIP\s0.MMS for the module: | |
494 | .Sp | |
495 | .Vb 1 | |
496 | \& perl Makefile.PL | |
497 | .Ve | |
498 | .Sp | |
499 | Now you're ready to build: | |
500 | .Sp | |
501 | .Vb 1 | |
502 | \& mms test | |
503 | .Ve | |
504 | .Sp | |
505 | Substitute \f(CW\*(C`mmk\*(C'\fR for \f(CW\*(C`mms\*(C'\fR above if you're using \s-1MMK\s0. | |
506 | .Sp | |
507 | D. \s-1INSTALL\s0 | |
508 | .Sp | |
509 | Type | |
510 | .Sp | |
511 | .Vb 1 | |
512 | \& mms install | |
513 | .Ve | |
514 | .Sp | |
515 | Substitute \f(CW\*(C`mmk\*(C'\fR for \f(CW\*(C`mms\*(C'\fR above if you're using \s-1MMK\s0. | |
516 | .IP "\(bu" 4 | |
517 | \&\fBIf you're on \s-1MVS\s0\fR, | |
518 | .Sp | |
519 | Introduce the \fI.tar.gz\fR file into an \s-1HFS\s0 as binary; don't translate from | |
520 | \&\s-1ASCII\s0 to \s-1EBCDIC\s0. | |
521 | .Sp | |
522 | A. \s-1DECOMPRESS\s0 | |
523 | .Sp | |
524 | Decompress the file with \f(CW\*(C`gzip \-d yourmodule.tar.gz\*(C'\fR | |
525 | .Sp | |
526 | You can get gzip from | |
527 | http://www.s390.ibm.com/products/oe/bpxqp1.html | |
528 | .Sp | |
529 | B. \s-1UNPACK\s0 | |
530 | .Sp | |
531 | Unpack the result with | |
532 | .Sp | |
533 | .Vb 1 | |
534 | \& pax -o to=IBM-1047,from=ISO8859-1 -r < yourmodule.tar | |
535 | .Ve | |
536 | .Sp | |
537 | The \s-1BUILD\s0 and \s-1INSTALL\s0 steps are identical to those for Unix. Some | |
538 | modules generate Makefiles that work better with \s-1GNU\s0 make, which is | |
539 | available from http://www.mks.com/s390/gnu/ | |
540 | .SH "PORTABILITY" | |
541 | .IX Header "PORTABILITY" | |
542 | Note that not all modules will work with on all platforms. | |
543 | See perlport for more information on portability issues. | |
544 | Read the documentation to see if the module will work on your | |
545 | system. There are basically three categories | |
546 | of modules that will not work \*(L"out of the box\*(R" with all | |
547 | platforms (with some possibility of overlap): | |
548 | .IP "\(bu" 4 | |
549 | \&\fBThose that should, but don't.\fR These need to be fixed; consider | |
550 | contacting the author and possibly writing a patch. | |
551 | .IP "\(bu" 4 | |
552 | \&\fBThose that need to be compiled, where the target platform | |
553 | doesn't have compilers readily available.\fR (These modules contain | |
554 | \&\fI.xs\fR or \fI.c\fR files, usually.) You might be able to find | |
555 | existing binaries on the \s-1CPAN\s0 or elsewhere, or you might | |
556 | want to try getting compilers and building it yourself, and then | |
557 | release the binary for other poor souls to use. | |
558 | .IP "\(bu" 4 | |
559 | \&\fBThose that are targeted at a specific platform.\fR | |
560 | (Such as the Win32:: modules.) If the module is targeted | |
561 | specifically at a platform other than yours, you're out | |
562 | of luck, most likely. | |
563 | .PP | |
564 | Check the \s-1CPAN\s0 Testers if a module should work with your platform | |
565 | but it doesn't behave as you'd expect, or you aren't sure whether or | |
566 | not a module will work under your platform. If the module you want | |
567 | isn't listed there, you can test it yourself and let \s-1CPAN\s0 Testers know, | |
568 | you can join \s-1CPAN\s0 Testers, or you can request it be tested. | |
569 | .PP | |
570 | .Vb 1 | |
571 | \& http://testers.cpan.org/ | |
572 | .Ve | |
573 | .SH "HEY" | |
574 | .IX Header "HEY" | |
575 | If you have any suggested changes for this page, let me know. Please | |
576 | don't send me mail asking for help on how to install your modules. | |
577 | There are too many modules, and too few Orwants, for me to be able to | |
578 | answer or even acknowledge all your questions. Contact the module | |
579 | author instead, or post to comp.lang.perl.modules, or ask someone | |
580 | familiar with Perl on your operating system. | |
581 | .SH "AUTHOR" | |
582 | .IX Header "AUTHOR" | |
583 | Jon Orwant | |
584 | .PP | |
585 | orwant@medita.mit.edu | |
586 | .PP | |
587 | with invaluable help from Chris Nandor, and valuable help from Brandon | |
588 | Allbery, Charles Bailey, Graham Barr, Dominic Dunlop, Jarkko | |
589 | Hietaniemi, Ben Holzman, Tom Horsley, Nick Ing\-Simmons, Tuomas | |
590 | J. Lukka, Laszlo Molnar, Alan Olsen, Peter Prymmer, Gurusamy Sarathy, | |
591 | Christoph Spalinger, Dan Sugalski, Larry Virden, and Ilya Zakharevich. | |
592 | .PP | |
593 | First version July 22, 1998; last revised November 21, 2001. | |
594 | .SH "COPYRIGHT" | |
595 | .IX Header "COPYRIGHT" | |
596 | Copyright (C) 1998, 2002, 2003 Jon Orwant. All Rights Reserved. | |
597 | .PP | |
598 | Permission is granted to make and distribute verbatim copies of this | |
599 | documentation provided the copyright notice and this permission notice are | |
600 | preserved on all copies. | |
601 | .PP | |
602 | Permission is granted to copy and distribute modified versions of this | |
603 | documentation under the conditions for verbatim copying, provided also | |
604 | that they are marked clearly as modified versions, that the authors' | |
605 | names and title are unchanged (though subtitles and additional | |
606 | authors' names may be added), and that the entire resulting derived | |
607 | work is distributed under the terms of a permission notice identical | |
608 | to this one. | |
609 | .PP | |
610 | Permission is granted to copy and distribute translations of this | |
611 | documentation into another language, under the above conditions for | |
612 | modified versions. |