Damn, like a bunch of damn women, Fighting at the Hair salon. My bikini cut
is closer than yours! Nah! nah! nah!

Well to comment on the guys actions, This isn't pro-Perl, Super-Perl,
Kick-ass-perl. This Is beginners Perl. The dude never said he taught Perl,
Never said he was a Super Perl Programmer. Never Said his Code was better
than yours.

Guy Just asked what he thought was a legitiment question to a Person he
Obviously Respected. Than the Bloke Flames him? What, was it that your time
of the month? You didn't feel like answering a simple coding question
from a fellow professional Obviously needed help.

Best regards: :)
----- Original Message -----
From: "Will Cottay" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, July 12, 2001 7:41 AM
Subject: Re: applause for Casey!!!!! APPLAUSE DUDE! ('Turning the tide...'
and a911 plea for help)


> The only reason I'm posting an example of how to do this is so
> that I can feel better about commenting on just how excruciatingly
> bad your code is.
>
> I shudder to think that you are teaching software techniques to
> anyone.
>
> If you provided an example like that to Tom Christiansen, I'm not
> surprised that he was a bit harsh with you.  As far as asking him to
> solve your little file upload problem, you should be embarrassed to
> clutter his mail with such trivia.
>
> BTW, I've been writing code since the 70's also and I'm a bit curious.
> Have you got your first program running yet?
>
> -will
>
> #!/usr/bin/perl -w
>
> use strict;
> use CGI qw(:all);
>
> my $q = new CGI;
> print $q->header;
> print $q->start_html(-title=>'File Upload Example');
>
> my $filename = $q->param('img');
>
> $| = 1;
>
> print $q->start_multipart_form(-name=>'fup');
> print $q->filefield(-name=>'img');
> print "<input type='submit' name='sfile'></form>";
> print $q->end_html;
>
> if ($filename) {
>     my ($fn, $fout, $buffer, $bytesread);
>     ($fn)  = $filename =~ m!([^/|\\]+)$!;
>
>     $fout = $ENV{DOCUMENT_ROOT} . '/photos/ptmp/' . $fn;
>
>     open (OUTFILE,"> $fout") or die "Can't open $fout: $!";
>     print OUTFILE $buffer while ($bytesread = read($filename, $buffer,
1024));
>     close OUTFILE;
> }
>
> Cm wrote:
>
> > Over a year ago I started learning Perl. I have been writing software
> > since 1979, mostly medical and banking/brokerage stuff, so
> > of all the languages, Java, ASP, C, whatever, I chose Perl because
> > webmasters easily let it run on their hosted platforms...
> >
> > Then one day I wrote a letter to Tom Christenson describing a bug
> > in Perl. Talk about getting flamed! He roasted me in a manner
> > I would have responded with a physical assault had he been in the
> > same room! It's not just that I am not so swift a Perl-man as he,
> > but I TEACH KIDS software techniques and I have alot of patience
> > with them and when a guy replies with a roasting lesson, he's
> > just full of himself; sorry...my opinion.
> >
> > So, I sent him a coding example of the bug and here we are, two
> > versions later; they never fixed it and it's a pretty major
> > bug, in that alot of data can get lost when writing to files
> > if you don't watch out... anyway, so I just write 'work-arounds'
> > for it and figure Mr. Christenson has better fish to fry than
> > me...
> >
> > But it left me with a totally bitter taste for Perl. It's a sweet
> > language on the one-hand, yet as your article said, a rather
> > sour group of coders.  A few months later I asked Mr. Christ
> > himself if he could kindly explain how to use CGI to capture
> > an image from a form via CGI. I can capture text, buttons,
> > selects, you name it, but I have yet to even get a reply
> > as to how to have a user click on an html form, fill in
> > a filename and send me a picture of themself, then, using
> > method=post (which I an parse just fine thank you),
> > set up a data stream to capture the image...
> >
> > So, here I come to you, Mr. Casey, man who wrote the first
> > god damn Perl article that was timely and hopefully someone
> > read... your 'Turning the tide...' and I ask you, please...
> > is there a coding example of Perl and HTML combo SOMEWHERE
> > that SOMEONE has (so I don't have to waste your time typing
> > ..first you type this, then that etc.),
> >
> > that someone has to allow a client to upload a picture to
> > my server.  It took me 6 months to figure out how to
> > sendmail, a year to figure out how to pop mail, and now, the
> > last of the building blocks still eludes me... how to get
> > a sweet smiling JPG picture from client to my server.
> >
> > I have attached an HTML doc I TRIED to use, via HTML/Java Script
> > etc. and a piece of perl code that I TRIED to create to stream
> > it... (I commented out the 'get user ID stuff', so the photo
> > would always have the same name...no big deal)...
> >
> > and if you'd like to 'flame' (although I don't think that's your
> > style), throw them, but please for god's sake, before I have
> > to go to a friggin Java or Corba solution, can this be done
> > in Perl and if so... HOW!!!!!!
> >
> > As for Mr. Christensen, at your next Perl symposium, remind him
> > that when APPENDING to a DOS file that has a chr (26) (EOF)
> > mark in it, Perl can't do it... ha ha... Now, if I wrote the
> > C program that handled that aspect, I'd CHECK for a 26 in the
> > last position of the file and if it existed, replace
> > it with the first byte of the new string, then add a 26 to the
> > end of the file... anyway... good luck and thank you in advance
> > for ANY assistance you an offer regarding client to server
> > jpg/gif CGI uploads...
> >
> > Craig Mead
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Get personalized email addresses from Yahoo! Mail
> > http://personal.mail.yahoo.com/
> >
>
  ------------------------------------------------------------------------
> > #!/usr/bin/perl
> >
> > push(@INC,"e:/10000diamonds/web/userscripts") ;
> > push(@INC,"e:/10000diamonds/web/userscripts/Mods");
> >
> > $lmsg = "";
> >
> > #################### END OF VAR INITIALIZATION
> >
> >  $sep = chr(123).chr(93);
> >  $photomsg = "Thank you for your picture.<br>It will be reviewed.<br>You
may send up to 3 pictures.<br>";
> >  &tiptop;
> >  &nexthtml;
> >  exit;
> >
> > sub tiptop
> > { $filedrive = "e:";
> >   $whatsys = "c:/bat/pathh.bat";
> >   ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime,
$ctime, $blksize, $blocks) = stat($whatsys);
> >   if ($size > 0)
> >   { $filedrive = "c:";
> >   }
> >   $datapath = "$filedrive/10000diamonds/web/data/";
> >   $picpath = $datapath;
> >   $picl = length($picpath)-5;
> >   $picpath = substr($picpath,0,$picl);
> >   $picpath = $picpath."pics";
> >   @ilines = undefined;
> >   $thiskey1 = "";
> >   $thiskey2 = "";
> > ########## gettime debugged
> >   $nicedate = "";
> >   $nicetime = "";
> >   use Mods::gettime;
> >   gettime::mydate();
> >   $nicedate = $gettime::nicedate;
> >   $nicetime = $gettime::nicetime;
> >   #########
> >   if ($filedrive eq "e:")
> >   {  use Socket;
> >   }
> >   $smtp_server = "mail5.hispeedhosting.com";
> >   $smtp_port = 25;
> >   $NT= 1;
> >
> > # TOP OF MAIN LOOP
> >   &ParseCgi;
> >   $ouruser = $FORMVALS{'username'};
> >   $ourfile = $FORMVALS{'yourpic'};
> >   $ourform = $FORMVALS{'formname'};
> >   $lmsg = "file was $ourfile";
> >   &lit;
> >   $newfile = "$picpath"."thephoto.jpg";
> > #  &finduser;
> >   if (length($newfile)>0)
> >   {  &getphoto;
> >   }
> > }
> >
> > sub getphoto
> > {   open FOTOFILE, ">$newfile";
> >     binmode FOTOFILE;
> >     open USERFILE, "<$ourfile";
> >     binmode USERFILE;
> >     $fotobyte = "";
> >     $bytecnt = 0;
> >     while ((read (FOTOFILE, $fotobyte, 1)) && (bytecnt < 50000))
> >     { print USERFILE $fotobyte;
> >       $bytecnt++;
> >     }
> >     close USERFILE;
> >     close FOTOFILE;
> >     if ($bytecnt > 50000)
> >     {  $photomsg = "Your picture size exceeded the 50k limit!<br>Please
try another photo!";
> >     }
> > }
> >
> > sub finduser
> > {
> > # commented out
> > }
> >
> > sub ParseCgi
> > { my $Fwork,$Fkey,$Fvalue,$Fdata;
> >   if ($ENV{'REQUEST_METHOD'} eq "FILE")
> >   {  $Fdata = uc($ENV{'QUERY_STRING'});
> >      $lmsg = "open $Fdata";
> >      &lit;
> >      open EFILE, "<$Fdata";
> >      @ELINES = <EFILE>;
> >      close EFILE;
> >      $Fwork = @ELINES[0];
> >      $lmsg = "Testparse $Fwork\n";
> >      &lit;
> >   }
> >   if ($ENV{'REQUEST_METHOD'} eq "GET")
> >   {  $Fwork=$ENV{'QUERY_STRING'};
> >      $lmsg = "getting $Fwork\n";
> >      &lit;
> >   }
> >   $lmsg = "request method is $ENV{'REQUEST_METHOD'} and length is
$ENV{'CONTENT_LENGTH'}\n";
> >   &lit;
> >   if ($ENV{'REQUEST_METHOD'} eq "POST")
> >   {  read (STDIN,$Fwork,$ENV{'CONTENT_LENGTH'});
> >      $lmsg = "getting post of $Fwork with content length of
$ENV{'CONTENT_LENGTH'}\n";
> >      &lit;
> >   }
> >   $Fwork =~ s/$sep/\&/g;
> >   $lmsg = "Environment $Fwork\n";
> >   &lit;
> >   foreach $Ftmp (split('&',$Fwork))
> >   { $Ftmp =~ s/\+/\ /g;
> >     $Ftmp =~ s/~is~/=/g;
> >     ($Fkey,$Fvalue) = $Ftmp =~ /(.+)=(.+)/;
> >     $Fvalue =~ s/%(..)/pack("c",hex($1))/ge;
> >     $Fkey =~ s/%(..)/pack("c",hex($1))/ge;
> >     $FORMVALS{$Fkey}=$Fvalue;
> >     push @FORMKEYS , $Fkey;
> >     push @FORMVARS , $Fvalue;
> >     $lmsg = "$Fkey was $FORMVALS{$Fkey}";
> >     &lit;
> >   }
> > }
> >
> > sub lit
> > { $lfilen = "$datapath"."dlog.htm";
> >   ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime,
$ctime, $blksize, $blocks) = stat($lfilen);
> >   if (index($lmsg, "Environment") == 0)
> >   {  if (($size > 40000) || ($size < 10))
> >      { open LFILE, ">$lfilen";
> >        $tm = time();
> >        print LFILE "<html><title>10k SysLog</title><head></head><body
bgcolor=green>\n";
> >        print LFILE "$tm <br>\n";
> >        close LFILE;
> >      }
> >   }
> >   open LFILE, ">>$lfilen";
> >   print LFILE "$oursesh $lmsg <br>\n";
> >   close LFILE;
> > }
> >
> > sub nexthtml
> > { if ($NT)
> >   { print "HTTP/1.0 302 OK\n";
> >     print "HTTP/1.0 200 OK\n";
> >     print "Content-type: text/html\n\n";
> >     print <<"EOT";
> >
> > <HTML>
> > <HEAD>
> > <META HTTP-EQUIV = "REFRESH" CONTENT = "60;
URL=http://www.10000diamonds.com/gempub.html#Refresh";>
> > </HEAD>
> > <BODY bgcolor=red><font color=white><font size=+3>
> > $photomsg
> > <hr><a href="http://www.10000diamonds.com/getphoto.html";>Upload another
photo</a>
> > </BODY>
> > </HTML>
> > EOT
> >   }
> > }
>
>

Reply via email to