line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package PAR; |
2
|
|
|
|
|
|
|
$PAR::VERSION = '1.016'; |
3
|
|
|
|
|
|
|
|
4
|
4
|
|
|
4
|
|
572938
|
use 5.006; |
|
4
|
|
|
|
|
28
|
|
5
|
4
|
|
|
4
|
|
39
|
use strict; |
|
4
|
|
|
|
|
19
|
|
|
4
|
|
|
|
|
124
|
|
6
|
4
|
|
|
4
|
|
28
|
use warnings; |
|
4
|
|
|
|
|
20
|
|
|
4
|
|
|
|
|
199
|
|
7
|
4
|
|
|
4
|
|
23
|
use Config '%Config'; |
|
4
|
|
|
|
|
9
|
|
|
4
|
|
|
|
|
290
|
|
8
|
4
|
|
|
4
|
|
24
|
use Carp qw/croak/; |
|
4
|
|
|
|
|
15
|
|
|
4
|
|
|
|
|
599
|
|
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
# If the 'prefork' module is available, we |
11
|
|
|
|
|
|
|
# register various run-time loaded modules with it. |
12
|
|
|
|
|
|
|
# That way, there is more shared memory in a forking |
13
|
|
|
|
|
|
|
# environment. |
14
|
|
|
|
|
|
|
BEGIN { |
15
|
4
|
50
|
|
4
|
|
348
|
if (eval 'require prefork') { |
16
|
0
|
|
|
|
|
0
|
prefork->import($_) for qw/ |
17
|
|
|
|
|
|
|
Archive::Zip |
18
|
|
|
|
|
|
|
File::Glob |
19
|
|
|
|
|
|
|
File::Spec |
20
|
|
|
|
|
|
|
File::Temp |
21
|
|
|
|
|
|
|
Fcntl |
22
|
|
|
|
|
|
|
LWP::Simple |
23
|
|
|
|
|
|
|
PAR::Heavy |
24
|
|
|
|
|
|
|
/; |
25
|
|
|
|
|
|
|
# not including Archive::Unzip::Burst which only makes sense |
26
|
|
|
|
|
|
|
# in the context of a PAR::Packer'ed executable anyway. |
27
|
|
|
|
|
|
|
} |
28
|
|
|
|
|
|
|
} |
29
|
|
|
|
|
|
|
|
30
|
4
|
|
|
4
|
|
1923
|
use PAR::SetupProgname; |
|
4
|
|
|
|
|
10
|
|
|
4
|
|
|
|
|
148
|
|
31
|
4
|
|
|
4
|
|
2054
|
use PAR::SetupTemp; |
|
4
|
|
|
|
|
11
|
|
|
4
|
|
|
|
|
451
|
|
32
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
=head1 NAME |
34
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
PAR - Perl Archive Toolkit |
36
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
=head1 SYNOPSIS |
38
|
|
|
|
|
|
|
|
39
|
|
|
|
|
|
|
(If you want to make an executable that contains all module, scripts and |
40
|
|
|
|
|
|
|
data files, please consult the L utility instead. L used to be |
41
|
|
|
|
|
|
|
part of the PAR distribution but is now shipped as part of the L |
42
|
|
|
|
|
|
|
distribution instead.) |
43
|
|
|
|
|
|
|
|
44
|
|
|
|
|
|
|
Following examples assume a F file in Zip format. |
45
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
To use F from F<./foo.par>: |
47
|
|
|
|
|
|
|
|
48
|
|
|
|
|
|
|
% perl -MPAR=./foo.par -MHello |
49
|
|
|
|
|
|
|
% perl -MPAR=./foo -MHello # the .par part is optional |
50
|
|
|
|
|
|
|
|
51
|
|
|
|
|
|
|
Same thing, but search F in C<@INC>: |
52
|
|
|
|
|
|
|
|
53
|
|
|
|
|
|
|
% perl -MPAR -Ifoo.par -MHello |
54
|
|
|
|
|
|
|
% perl -MPAR -Ifoo -MHello # ditto |
55
|
|
|
|
|
|
|
|
56
|
|
|
|
|
|
|
Following paths inside the PAR file are searched: |
57
|
|
|
|
|
|
|
|
58
|
|
|
|
|
|
|
/lib/ |
59
|
|
|
|
|
|
|
/arch/ |
60
|
|
|
|
|
|
|
/i386-freebsd/ # i.e. $Config{archname} |
61
|
|
|
|
|
|
|
/5.8.0/ # i.e. $Config{version} |
62
|
|
|
|
|
|
|
/5.8.0/i386-freebsd/ # both of the above |
63
|
|
|
|
|
|
|
/ |
64
|
|
|
|
|
|
|
|
65
|
|
|
|
|
|
|
PAR files may also (recursively) contain other PAR files. |
66
|
|
|
|
|
|
|
All files under following paths will be considered as PAR |
67
|
|
|
|
|
|
|
files and searched as well: |
68
|
|
|
|
|
|
|
|
69
|
|
|
|
|
|
|
/par/i386-freebsd/ # i.e. $Config{archname} |
70
|
|
|
|
|
|
|
/par/5.8.0/ # i.e. $Config{version} |
71
|
|
|
|
|
|
|
/par/5.8.0/i386-freebsd/ # both of the above |
72
|
|
|
|
|
|
|
/par/ |
73
|
|
|
|
|
|
|
|
74
|
|
|
|
|
|
|
Run F |