1use strict;
2$^W = 1;
3require 5;
4
5sub croak{
6  warn($_[0]);
7  exit 0;
8}
9
10open(MINI, $_ = '>bin/minifig.pl') || croak("Unable to create $_");
11select(MINI);
12print "#!$^X -w\n";
13
14open(PM, $_ = 'lib/Text/FIGlet.pm') || croak("Could not open $_: $!");
15while( <PM> ){
16  last if /__END__/;
17  next if /use\s+Text::FIGlet/;
18  print;
19}
20
21open(PM, $_ = 'lib/Text/FIGlet/Control.pm') || croak("Could not open $_: $!");
22while( <PM> ){
23  last if /__END__/;
24  print;
25}
26
27my $mini = <<'EOF';
28  } else {
29    my $fh = $self->{_fh} = *main::DATA;
30    while ( <$fh> ) {
31      last if /__END__/;
32    }
33  }
34EOF
35open(PM, $_ = 'lib/Text/FIGlet/Font.pm') || croak("Could not open $_: $!");
36while( <PM> ){
37  last if /__END__/;
38  s/\|\|\s+q*.standard.//;
39  s/#MAGIC minifig0/  if ( \$self->{-f} ) {/;
40  s/#MAGIC minifig1/$mini/;
41  print;
42}
43
44open(PM, $_ = 'bin/figlet.pl') || croak("Could not open $_: $!");
45while( <PM> ){
46  next if /use\s+Text::FIGlet/;
47  if( /__END__/ .. 1 ){
48    s/__END__/__DATA__/;
49    s/figlet(?=\.pl)|standard(?=\.flf)/minifig/ig;
50  }
51  print;
52}
53
54print "__END__\n";
55open(PM, $_ = 'share/mini.flf') || croak("Could not open $_: $!");
56while( <PM> ){
57  print;
58}
59
60