ppm> s Email Searching in Active Repositories 1. Log-Dispatch [1.80] Uniform logging interface to multiple outputs 2. Email-Find [0.02] Find RFC 822 email addresses in plain text 3. CGI-Untaint-email [0.03] validate an email address 4. Email-Valid [0.13] Check validity of Internet email addresses ppm> d 2 ==================== Package 2: Name: Email-Find Version: 0.09 Author: MIYAGAWA Tatsuhiko (miyagawa@bulknews.net) Title: Email-Find Abstract: Find RFC 822 email addresses in plain text Prerequisites: 1. Email-Valid 0.0 2. MailTools 0.0 3. Test-Simple 0.0 Available Platforms: 1. i686-linux-thread-multi ==================== ppm> rep desc 1 Describing Active Repository 1: Name: win Location: http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer Type: PPMServer 2.0 ppm> rep desc 2 Describing Active Repository 2: Name: PPM Location: http://www.ActiveState.com/cgibin/PPM/ppmserver.plex?urn:/PPMServer Type: PPMServer 2.0 ppm> rep desc 3 Describing Active Repository 3: Name: crazy Location: http://crazyinsomniac.perlmonk.org/perl/ppm Type: Webpage ppm> rep desc 4 Describing Active Repository 4: Name: PPM3 Location: http://ppm-ia.ActiveState.com/PPM/ppmserver.plex?urn:/PPM/Server/SQL Type: PPMServer 3.0 ppm> rep desc 5 Describing Active Repository 5: Name: rto Location: http://rto.dk/packages/ Type: Webpage ppm> rep desc 6 Describing Active Repository 6: Name: xray Location: http://www.xray.mpe.mpg.de/~ach/ptk/ppm Type: Webpage ppm> #### =pod one time, ppm was giving me grief, and would not install a local copy of Wx, so I cracked it open, and I came up with the following (I had extracted the tarball, and in my current directory I had the blib directory, which is practically all that a ppm package contains, so I typed 'perl' and then pasted the following in. I could turn it into a nice commandline program ... maybe I will sometime soon ;). =cut #!/usr/bin/perl -w use Cwd; use strict; use Config; use ExtUtils::Install; use ActivePerl::DocTools; my %current_package; ########################################################################################## #$current_package{'NAME'} = 'Wx'; print "Enter the package name :"; $current_package{'NAME'} = ; chomp($current_package{'NAME'}); ################################################################################# my $inst_archlib = $Config{installsitearch}; my $inst_root = $Config{prefix}; my $packlist = MM->catfile("$Config{installsitearch}/auto", split(/-/, $current_package{'NAME'}), ".packlist"); # copied from ExtUtils::Install my $INST_LIB = MM->catdir(MM->curdir,"blib","lib"); my $INST_ARCHLIB = MM->catdir(MM->curdir,"blib","arch"); my $INST_BIN = MM->catdir(MM->curdir,'blib','bin'); my $INST_SCRIPT = MM->catdir(MM->curdir,'blib','script'); my $INST_MAN1DIR = MM->catdir(MM->curdir,'blib','man1'); my $INST_MAN3DIR = MM->catdir(MM->curdir,'blib','man3'); my $INST_HTMLDIR = MM->catdir(MM->curdir,'blib','html'); my $INST_HTMLHELPDIR = MM->catdir(MM->curdir,'blib','htmlhelp'); my $inst_script = $Config{installscript}; my $inst_man1dir = $Config{installman1dir}; my $inst_man3dir = $Config{installman3dir}; my $inst_bin = $Config{installbin}; my $inst_htmldir = $Config{installhtmldir}; my $inst_htmlhelpdir = $Config{installhtmlhelpdir}; my $inst_lib = $Config{installsitelib}; while (1) { my $cwd = getcwd(); $cwd .= "/" if $cwd =~ /[a-z]:$/i; eval { ExtUtils::Install::install({ "read" => $packlist, "write" => $packlist, $INST_LIB => $inst_lib, $INST_ARCHLIB => $inst_archlib, $INST_BIN => $inst_bin, $INST_SCRIPT => $inst_script, $INST_MAN1DIR => $inst_man1dir, $INST_MAN3DIR => $inst_man3dir, $INST_HTMLDIR => $inst_htmldir, $INST_HTMLHELPDIR => $inst_htmlhelpdir},0,0,0); }; # install might have croaked in another directory chdir($cwd); # Can't remove some DLLs, but we can rename them and try again. if ($@ && $@ =~ /Cannot forceunlink (\S+)/) { my $oldname = $1; $oldname =~ s/:$//; my $newname = $oldname . "." . time(); unless (rename($oldname, $newname)) { return 0; } } # Some other error elsif($@) { return 0; } else { last; } }