Forums Index > Mewsoft > Official Announcements > PerlSharp Released. Shrink Perl Source 95% And Make Perl Faster 100%
mewsoft First Post Posted on: 11-26-09 07:40 AM
PerlSharp Released. Shrink Perl Source 95% And Make Perl Faster 100%

Greatings everyone,

Today Sep 4, 2005 we released a free product called PerlSharp. PerlSharp is a small Perl script that you can use to shrink your perl scripts and programs by may be 95% of the original size. You use also PerlSharp script to reduce your all perl modules installed on your server to make Perl loads and runs faster may be by 100%.

What PerlSharp do is, parses and reformat the Perl source code like MS Visual Basic do, remove all comments, POD text blocks, unncessessary semicolons, extra spaces, tabs, multiple blank lines and more.

This process will reduce some Perl modules and scripts by may be more than 95% of the original size. This makes Perl loads these modules and scripts faster 100%.

Click here to view the results log on our local server for http://www.mewsoft.com/download/PerlSharpLog.txt

Here is how to use is

Download the script from our site here http://www.mewsoft.com/Downloads/

C:\>perl perlsharp.cgi
Usage:
perlsharp.cgi -p                    To Process current working full Perl installation
perlsharp.cgi -d directories... To Process all files in [directories]
perlsharp.cgi -r directories...  To Process files recursively in [directories]
perlsharp.cgi -f Files...           To Process Files

1) - Use PerlSharp to Shrink your server installed Perl

You need to run this from your DOS prompt or from Telnet or terminal window. You can not run this from browser since this process make take more than 20 minutes.

from the prompt type:

perl  PerlSharp.cgi  -p

This command will let PerlSharp search all include directories of the currently working and installed Perl version and process all the modules and scripts. These directories are the perl @INC directories and all their sub directories tree.

PerlSharp will write the log to the screen and to a text file called PerlSharpLog.txt that you can view.

To run this you must login to your server or PC as a root user or server administrator rights.

Here is the first few lines of the process log:

  Size     New Size    Ratio                      File
    2687      300       89%  C:/Perl/lib/AnyDBM_File.pm
   11436     2542       78%  C:/Perl/lib/AutoLoader.pm
   16158     9149       44%  C:/Perl/lib/AutoSplit.pm
   22596     6328       72%  C:/Perl/lib/B.pm
   28344    11570       60%  C:/Perl/lib/Benchmark.pm
     727      126       83%  C:/Perl/lib/ByteLoader.pm
  233083   102199       57%  C:/Perl/lib/CGI.pm
  230120   130582       44%  C:/Perl/lib/CPAN.pm
    6915      963       87%  C:/Perl/lib/Carp.pm
   30611    28894        6%  C:/Perl/lib/Config.pm
   15290     8196       47%  C:/Perl/lib/Cwd.pm
   20034     8718       57%  C:/Perl/lib/DB.pm
    5156      627       88%  C:/Perl/lib/Digest.pm
    1846      737       61%  C:/Perl/lib/DirHandle.pm
   17540    11938       32%  C:/Perl/lib/Dumpvalue.pm
   28942     6769       77%  C:/Perl/lib/DynaLoader.pm
   23943     6285       74%  C:/Perl/lib/Encode.pm
    4734     3229       32%  C:/Perl/lib/English.pm
    5405     2853       48%  C:/Perl/lib/Env.pm
    6034     4837       20%  C:/Perl/lib/Errno.pm
   14107     1405       91%  C:/Perl/lib/Exporter.pm
    5155     3152       39%  C:/Perl/lib/Fatal.pm
    5582     3111       45%  C:/Perl/lib/Fcntl.pm
    5032     2170       57%  C:/Perl/lib/FileCache.pm
    7033     1541       79%  C:/Perl/lib/FileHandle.pm
    5140     1601       69%  C:/Perl/lib/FindBin.pm
    1469      408       73%  C:/Perl/lib/IO.pm
   36322     6968       81%  C:/Perl/lib/Memoize.pm
   16655     4262       75%  C:/Perl/lib/NEXT.pm
    4385     1204       73%  C:/Perl/lib/O.pm
   15811     1521       91%  C:/Perl/lib/Opcode.pm
   19861    18271        9%  C:/Perl/lib/POSIX.pm
    9079      320       97%  C:/Perl/lib/PerlIO.pm
    2633      207       93%  C:/Perl/lib/SDBM_File.pm
   17740     4194       77%  C:/Perl/lib/Safe.pm
    1128      340       70%  C:/Perl/lib/SelectSaver.pm
   12953     3383       74%  C:/Perl/lib/SelfLoader.pm
    4274     2420       44%  C:/Perl/lib/Shell.pm
   10194     3409       67%  C:/Perl/lib/Socket.pm
   35696     5391       85%  C:/Perl/lib/Storable.pm
   28206    12950       55%  C:/Perl/lib/Switch.pm
    4989     1535       70%  C:/Perl/lib/Symbol.pm
   23337     5332       78%  C:/Perl/lib/Test.pm
   10489     1466       87%  C:/Perl/lib/Thread.pm
    4199      153       97%  C:/Perl/lib/UNIVERSAL.pm
    8852     1738       81%  C:/Perl/lib/XSLoader.pm
     881      473       47%  C:/Perl/lib/abbrev.pl
    1353      789       42%  C:/Perl/lib/assert.pl
   13214     1789       87%  C:/Perl/lib/attributes.pm
    1493      101       94%  C:/Perl/lib/attrs.pm
    4352     1739       61%  C:/Perl/lib/autouse.pm
    5182     2699       48%  C:/Perl/lib/base.pm
    7622     4161       46%  C:/Perl/lib/bigfloat.pl
    9279     4933       47%  C:/Perl/lib/bigint.pl

and here is the last line in the process:

Total Size: 24527530, Total New Size: 11884043, Total Ratio: 52%

so you see how the PerlSharp reduced the all perl modules.

----------------------------------------------------------------------------------

Here is example on how to Sharpen our Auctionawy or Classifiedawy:
assuming you extracted the Auctionawy to your local computer at C:\Auctionawy.

Now enter this command from the DOS window:

C:\>perl PerlSharp.cgi -d C:/Auctionawy/auction/cgi-bin/auction

The -d command will process files under the same directories but will not recursively process sub directories

The -r command will process directories recursively.

Thank you


Mewsoft Support
www.mewsoft.com