my $pic = param('pic');   my $filehandle = upload('pic');   my $bild = $pic;   $switch = 1 if $pic;   my ($file, $baba, $tld);   $tld = (split(/\./, $pic))[-1];   $file = $username if $switch == 1;   $tld = lc($tld);   $baba = "$file.$tld";   if($switch == 1)   {      open (IMAGE,">/usr/local/httpd/htdocs/userpics/$baba");      flock IMAGE, 1;      for(<$filehandle>)      {         print IMAGE $_;      }      flock IMAGE, 8;      close(IMAGE);   }   my ($width,$height) = imgsize($pic);   my ($thumbnailwidth, $thumbnailheight) = ($width, $height);   if($switch == 1)   {      my $max_height = 200;      my $max_width = 300;      my $relation;      $relation = ($height / $max_height) > ($width / $max_width)         ? $height / $max_height  : $width / $max_width;      $thumbnailheight = sprintf ("%.0f",$height / $relation);      $thumbnailwidth = sprintf ("%.0f",$width / $relation);      my $big = GD::Image->newFromJpeg("/usr/local/httpd/htdocs/userpics/$baba");      my $lit = new GD::Image($thumbnailwidth,$thumbnailheight);      $lit->copyResized($big, 0, 0, 0, 0, $thumbnailwidth, $thumbnailheight, $width, $height);      my $jpeg_data = $lit->jpeg;      open (OUTFILE,">/usr/local/httpd/htdocs/userpics/$baba");      print OUTFILE $jpeg_data;      close OUTFILE;   }