<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>CodeKeep Perl Feed</title>
    <description>The latest and greatest Perl code snippets publicly available</description>
    <link>http://www.codekeep.net/feeds.aspx</link>
    <lastBuildDate>Sat, 11 Aug 2007 18:52:35 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>RSS.NET: http://www.rssdotnet.com/</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/CodeKeepPerl" /><feedburner:info uri="codekeepperl" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
      <title>header</title>
      <description>Description: Call perl executable with -options
XML-ish documentation template&lt;br /&gt;&lt;br /&gt;Link: &lt;a href='http://www.codekeep.net/snippets/006e57e4-efa5-4f51-b379-c38e48ef11b2.aspx'&gt;http://www.codekeep.net/snippets/006e57e4-efa5-4f51-b379-c38e48ef11b2.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style='font-size: 9pt;'&gt;#!perl\bin -w
# &amp;lt;filename&amp;gt;&amp;lt;/filename&amp;gt;
# &amp;lt;date&amp;gt;&amp;lt;/date&amp;gt;
# &amp;lt;author&amp;gt;A. Mick Smith&amp;lt;/author&amp;gt;
# &amp;lt;depends&amp;gt;&amp;lt;/depends&amp;gt;
# &amp;lt;describe&amp;gt;&amp;lt;/describe&amp;gt;

&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeKeepPerl/~4/dcc-LdxTpi8" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/CodeKeepPerl/~3/dcc-LdxTpi8/006e57e4-efa5-4f51-b379-c38e48ef11b2.aspx</link>
      <pubDate>Sat, 11 Aug 2007 18:52:35 GMT</pubDate>
    <feedburner:origLink>http://www.codekeep.net/snippets/006e57e4-efa5-4f51-b379-c38e48ef11b2.aspx</feedburner:origLink></item>
    <item>
      <title>Perl Email</title>
      <description>Description: sending email with perl&lt;br /&gt;&lt;br /&gt;Link: &lt;a href='http://www.codekeep.net/snippets/00c0ece5-ba98-439f-b928-ea2d4c13a39e.aspx'&gt;http://www.codekeep.net/snippets/00c0ece5-ba98-439f-b928-ea2d4c13a39e.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style='font-size: 9pt;'&gt;use Net::SMTP;
#print rand();

sub RandomLetter{
	$letter = $_[0];
}

sub left{
	return substr($_[0], 0, $_[1]);
}

sub right{
	$mystring = reverse $_[0];
	$mystring = substr($mystring, 0, $_[1]);
	$mystring = reverse $mystring;
	return $mystring;
}

sub GetLetter{
	$mystring = $_[0];
	$mystring = left($mystring,$_[1]);
	$mystring = right($mystring,1);
	return $mystring;
}

#print GetLetter(&amp;quot;qwertyuiopasdfghjklzxcvbnm&amp;quot;,rand()*26+1);
$counter = 0;
	while ($counter &amp;lt;=4999 ){
		$counter++;
		print &amp;quot;$counter\n&amp;quot;;
		sendemail();
	}

sub sendemail{
my $ServerName = &amp;quot;smtp-server.cinci.rr.com&amp;quot;;
$smtp = Net::SMTP-&amp;gt;new($ServerName);

my $MailFrom = GetLetter(&amp;quot;qwertyuiopasdfghjklzxcvbnm&amp;quot;,rand()*26+1) . &amp;quot;\@&amp;quot; . GetLetter(&amp;quot;qwertyuiopasdfghjklzxcvbnm&amp;quot;,rand()*26+1) . &amp;quot;.cc&amp;quot;;
my $MailTo = &amp;quot;email\@email.com&amp;quot;;

$smtp-&amp;gt;mail( $MailFrom );
$smtp-&amp;gt;to( $MailTo );
# Start the mail
$smtp-&amp;gt;data(); 
$smtp-&amp;gt;datasend(&amp;quot;To:  &amp;quot; . GetLetter(&amp;quot;qwertyuiopasdfghjklzxcvbnm&amp;quot;,rand()*26+1) . &amp;quot;\@&amp;quot; . GetLetter(&amp;quot;qwertyuiopasdfghjklzxcvbnm&amp;quot;,rand()*26+1) . &amp;quot;.cc\n&amp;quot;); 
$smtp-&amp;gt;datasend(&amp;quot;From:  &amp;quot; . GetLetter(&amp;quot;qwertyuiopasdfghjklzxcvbnm&amp;quot;,rand()*26+1) . &amp;quot;\@&amp;quot; . GetLetter(&amp;quot;qwertyuiopasdfghjklzxcvbnm&amp;quot;,rand()*26+1) . &amp;quot;.cc\n&amp;quot;);  
$smtp-&amp;gt;datasend(&amp;quot;Subject: &amp;quot; . GetLetter(&amp;quot;qwertyuiopasdfghjklzxcvbnm&amp;quot;,rand()*26+1) . &amp;quot;\n&amp;quot;);  

$smtp-&amp;gt;datasend(&amp;quot;\n&amp;quot;); 

$smtp-&amp;gt;datasend(GetLetter(&amp;quot;qwertyuiopasdfghjklzxcvbnm&amp;quot;,rand()*26+1) . &amp;quot;\n\n&amp;quot;); 
$smtp-&amp;gt;dataend(); 
$smtp-&amp;gt;quit();
}&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeKeepPerl/~4/DDWdD9FmqKI" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/CodeKeepPerl/~3/DDWdD9FmqKI/00c0ece5-ba98-439f-b928-ea2d4c13a39e.aspx</link>
      <pubDate>Mon, 16 Oct 2006 01:38:58 GMT</pubDate>
    <feedburner:origLink>http://www.codekeep.net/snippets/00c0ece5-ba98-439f-b928-ea2d4c13a39e.aspx</feedburner:origLink></item>
    <item>
      <title>email html page</title>
      <description>Description: download HTML-page, including all images, and send it by e-mail &lt;br /&gt;&lt;br /&gt;Link: &lt;a href='http://www.codekeep.net/snippets/82c18bd4-7e2d-4e8a-bbfc-f534f42230e7.aspx'&gt;http://www.codekeep.net/snippets/82c18bd4-7e2d-4e8a-bbfc-f534f42230e7.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style='font-size: 9pt;'&gt;require LWP::UserAgent;
$ua = LWP::UserAgent-&amp;gt;new;

$ua-&amp;gt;proxy(['http', 'ftp'], 'proxy-server address');
$req = new HTTP::Request('GET' =&amp;gt; 'page to be downloaded');

if ($res-&amp;gt;is_success) { $page = $res-&amp;gt;content; }
How do I send a e-mail with an attachment?
require MIME::Lite;
$msg = MIME::Lite-&amp;gt;new(
   From =&amp;gt;'your@address.com',
   To =&amp;gt;'recipient@address.com',
   Subject =&amp;gt;'Subject',
   Type =&amp;gt; 'multipart/related');

$msg-&amp;gt;attach(
   Type =&amp;gt;'text/plain; charset=windows-1251',
   Data =&amp;gt; message text);

$msg-&amp;gt;attach(
   Type =&amp;gt; 'image/gif', 
   Path =&amp;gt; path to the file, 
   Filename =&amp;gt;'img.gif');
$msg-&amp;gt;send();
&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeKeepPerl/~4/gACvx1fMltU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/CodeKeepPerl/~3/gACvx1fMltU/82c18bd4-7e2d-4e8a-bbfc-f534f42230e7.aspx</link>
      <pubDate>Sat, 04 Mar 2006 23:09:05 GMT</pubDate>
    <feedburner:origLink>http://www.codekeep.net/snippets/82c18bd4-7e2d-4e8a-bbfc-f534f42230e7.aspx</feedburner:origLink></item>
    <item>
      <title>Model View Control (MVC) with forms, pages... and perl is simple with this lib.</title>
      <description>Description: MVC - Load any seperate html form - Include Require Module - Using this all the forms can be kept in plain html format so they can be opened in your vavorite html editor and changed.  Creates a seperation of Model View Control (MVC) &lt;br /&gt;&lt;br /&gt;Link: &lt;a href='http://www.codekeep.net/snippets/6fbd2fa2-2c8f-4bc8-8a60-587bb57aa680.aspx'&gt;http://www.codekeep.net/snippets/6fbd2fa2-2c8f-4bc8-8a60-587bb57aa680.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style='font-size: 9pt;'&gt;sub build_form {
	#print &amp;quot;$path/$form_file_name&amp;quot;;
open(HF, &amp;quot;$fpath/$process_form&amp;quot;) || &amp;quot;can not open&amp;quot; ;
while (&amp;lt;HF&amp;gt;){	
eval &amp;lt;&amp;lt;END_OF_EVAL;
print &amp;lt;&amp;lt;END_OF_PRINT;
$_
END_OF_PRINT
END_OF_EVAL

}
}
1;&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeKeepPerl/~4/6qF42Vhm0qA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/CodeKeepPerl/~3/6qF42Vhm0qA/6fbd2fa2-2c8f-4bc8-8a60-587bb57aa680.aspx</link>
      <pubDate>Tue, 31 Jan 2006 17:34:27 GMT</pubDate>
    <feedburner:origLink>http://www.codekeep.net/snippets/6fbd2fa2-2c8f-4bc8-8a60-587bb57aa680.aspx</feedburner:origLink></item>
    <item>
      <title>Recursive DropDown Menu</title>
      <description>Description: Parent to child node recursive dropdown menu.  Uses flat file or database.  Currently used on: http://applicationlayer.com&lt;br /&gt;&lt;br /&gt;Link: &lt;a href='http://www.codekeep.net/snippets/becdceb2-6b32-4497-9c8b-10f66d3e3b07.aspx'&gt;http://www.codekeep.net/snippets/becdceb2-6b32-4497-9c8b-10f66d3e3b07.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style='font-size: 9pt;'&gt;###!/usr/bin/perl -w 

use CGI qw(:standard);
use Cwd;
use CGI::Cookie;
# Win32::ODBC called below when using db
# ------------------------------------------

	$dsn = &amp;quot;MENUS&amp;quot;;
	$table_name = &amp;quot;MENU1&amp;quot;;

# ------------------------------------------
# Get Path info - make things your cousin 
$script_name = &amp;quot;menu.pl&amp;quot;;
$pa_a = cwd();
$pa_b = $ENV{'PATH_INFO'};
$pa_c = &amp;quot;$pa_a&amp;quot;.&amp;quot;$pa_b&amp;quot;;
$pa_c =~ /(.+)($script_name)/;
$path = $1;
$pa_b =~ /(.+)($script_name)/;
$web_path = $1;
$web_imgpath = &amp;quot;$web_path&amp;quot;.&amp;quot;images&amp;quot;;

#Image Directory
$imagedir = &amp;quot;$web_imgpath&amp;quot;;

#Start ID
$a=&amp;quot;0&amp;quot;;

$menutype = &amp;quot;db&amp;quot;; # db or flatfile

# ------------ flatfile Info --------
$flatfile = &amp;quot;menucfg.dat&amp;quot;; 
$datafilepath = &amp;quot;$path&amp;quot;;



# ---------------  db Info ----------
if ($menutype eq &amp;quot;db&amp;quot;){
	use Win32::ODBC;
	if (param(&amp;quot;tm&amp;quot;)){
		$table_name = param(&amp;quot;tm&amp;quot;);
	}else{
		$table_name = $table_name;
	}
}


# ---------------------------------
# script path
my $spath = &amp;quot;&amp;quot;;

# HTML Properties -----------------
$bgcolor = &amp;quot;bgcolor = \&amp;quot;#ffffff\&amp;quot;&amp;quot;;
$text = &amp;quot;red&amp;quot;;
$bgproperties = &amp;quot;fixed&amp;quot;;
$vlink = &amp;quot;#336633&amp;quot;;
$alink = &amp;quot;#aaaaaa&amp;quot;;
$link = &amp;quot;#3366cc&amp;quot;;
$fsize = &amp;quot;size = \&amp;quot;-2\&amp;quot;&amp;quot;;
$fsize_level0 = &amp;quot;size = \&amp;quot;-1\&amp;quot;&amp;quot;;
$fsize_level1 = &amp;quot;size = \&amp;quot;-2\&amp;quot;&amp;quot;;
# ---------------------------------
# Flush StdOut
$| = 1;

# Parse arguments


my $vl = param(&amp;quot;vl&amp;quot;);
my $ipr = param(&amp;quot;ipr&amp;quot;);
my $sc = param(&amp;quot;sc&amp;quot;);
my $sd = param(&amp;quot;sd&amp;quot;);
my $ec = param(&amp;quot;ec&amp;quot;);
my $ed = param(&amp;quot;ed&amp;quot;);

my $edit = param(&amp;quot;edit&amp;quot;);
my $new = param(&amp;quot;new&amp;quot;);
my $rollup = param(&amp;quot;rollup&amp;quot;);
my $rolldown = param(&amp;quot;rolldown&amp;quot;);
my $shcl = param(&amp;quot;shcl&amp;quot;);
my $shid = param(&amp;quot;shid&amp;quot;);
my $expandall = param(&amp;quot;expand&amp;quot;);






# cookie name
$cookie_name = $table_name;
# get cookies 
%pref = cookie('pref');

# Add new cookie 
if ($rolldown ne &amp;quot;&amp;quot; &amp;amp;&amp;amp; $pref{$cookie_name} eq &amp;quot;&amp;quot;){
	$pref{$cookie_name} = &amp;quot;$rolldown&amp;quot;;
}elsif ($rolldown ne &amp;quot;&amp;quot;){
	$pref{$cookie_name} = &amp;quot;$pref{$cookie_name},$rolldown&amp;quot;;
	}
# clear cookies
#$pref{$cookie_name} = &amp;quot;&amp;quot;;

#load jar with cookies
@jar = split /,/,$pref{$cookie_name};

foreach $cookie_jar (@jar){
	# Remove unwanted cookie
	if ($rollup eq $cookie_jar){
		$c_jar{$cookie_jar} = &amp;quot;&amp;quot;;
	}else{
		$c_jar{$cookie_jar} = $cookie_jar;
		push(@new_c,$cookie_jar);
	}	
}
if ($rollup ne &amp;quot;&amp;quot;){
	%pref=();
	foreach $new_c (@new_c){
		if ($pref{$cookie_name} eq &amp;quot;&amp;quot;){
			$pref{$cookie_name} = &amp;quot;$new_c&amp;quot;;
		}elsif ($pref{$cookie_name} ne &amp;quot;&amp;quot;){
			$pref{$cookie_name} = &amp;quot;$pref{$cookie_name},$new_c&amp;quot;;
			}
	}
}
# put cookies
$the_cookie = cookie(-name=&amp;gt;'pref',
		-value=&amp;gt;\%pref,
		-expires=&amp;gt;'+30d');
print header(-cookie=&amp;gt;$the_cookie);    

# full of Cookies :)

#Security
$dbcl = 10;
#use Win32::AdminMisc; 
#require &amp;quot;secu.pl&amp;quot;;
#&amp;amp;secu;

&amp;amp;html_header;
&amp;amp;getData2;
&amp;amp;checkit;
&amp;amp;html_footer;


sub getData
{

# ----------------- flat file ---------------------
	open(MENUCFG,&amp;quot;$datafilepath&amp;quot;.&amp;quot;menucfg.dat&amp;quot;);
	while(&amp;lt;MENUCFG&amp;gt;){
		if($_ =~ /^#/){
			#comment line
			#print &amp;quot;$_&amp;lt;br&amp;gt;&amp;quot;;
		}else{
			# debug -- print &amp;quot;$_&amp;lt;br&amp;gt;&amp;quot;;
     	   ($jname, $job_id, $parent_id, $url, $popup, $target) = split(/,/,$_);
		}
	&amp;amp;extractData;
	}
	close(MENUCFG);
}
sub getData2
{

# ----------------- db ---------------------
   $dsn = &amp;quot;MENUS&amp;quot;;
   $sql = &amp;quot;SELECT * FROM MENU1;&amp;quot;; 
   #$sql = &amp;quot;SELECT * FROM MENU order by MENU_NAME;&amp;quot;; 
   
   
   $db = new Win32::ODBC($dsn);
   $db-&amp;gt;Sql($sql);
   
   while ($db-&amp;gt;FetchRow()) {
      $count = $count + 1; 
      if ($count == 1) {
         #&amp;amp;printDataHeader;
      }
        ($jname, $job_id, $parent_id, $url, $popup, $target, $cl) = $db-&amp;gt;Data(&amp;quot;MENU_NAME&amp;quot;,&amp;quot;MENU_ID&amp;quot;,&amp;quot;MENU_PARENT&amp;quot;,&amp;quot;URL&amp;quot;,&amp;quot;POPUP&amp;quot;,&amp;quot;TARGET&amp;quot;,&amp;quot;CL&amp;quot;);
		

		&amp;amp;extractData;
	}
($ErrNum, $ErrText, $ErrConn) = $db-&amp;gt;Error(); 
# print &amp;quot;$ErrNum, $ErrText, $ErrConn&amp;quot;;
   $db-&amp;gt;Close();
}
# -------------------------------------------------
sub extractData { 

	if ($target eq &amp;quot;&amp;quot;){ 
		$target = &amp;quot;_top&amp;quot;;
	}else{
		$target{$jo&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/CodeKeepPerl/~4/NWOzjbbbg8k" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/CodeKeepPerl/~3/NWOzjbbbg8k/becdceb2-6b32-4497-9c8b-10f66d3e3b07.aspx</link>
      <pubDate>Tue, 24 Jan 2006 19:11:58 GMT</pubDate>
    <feedburner:origLink>http://www.codekeep.net/snippets/becdceb2-6b32-4497-9c8b-10f66d3e3b07.aspx</feedburner:origLink></item>
  </channel>
</rss>

