Advertisement
KujiUn

WHY IS THIS ERRORING

Aug 25th, 2012
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 7.53 KB | None | 0 0
  1. use Win32::Clipboard;
  2. use Net::FTP;
  3. my $CLIPBOARD = Win32::Clipboard();
  4.  
  5. #insert sandbox code here
  6.  
  7. while (1) {
  8.     my $filename = '';
  9.     my $filecontents = "[[include template:base-mon\n";
  10.    
  11.     while (1) {
  12.         my $first = 1;                      #test to see if first iteration
  13.         my $mode = 0;                       #mode switcher
  14.         my %info = ();                      #info hash
  15.         my $switch = 0;
  16.         my $paste = $CLIPBOARD->Get();
  17.         my @data = split(/\n/, $paste);
  18.         my $basename
  19.  
  20.         foreach my $line (@data) {
  21.             chop $line if (not $line =~ m/Experience Drop/);
  22.             if ($first) {
  23.                 $line =~ s/\s*$//;
  24.                 $line =~ s/\d+\. //;
  25.                 $line = lc $line;
  26.                 $info{'Link'} = $line;
  27.                 $basename = "$line" if (not $filename);
  28.                 $line = ucfirst $line;
  29.                 $info{'Name'} = $line;
  30.                 $first = 0;
  31.             } elsif ($line =~ m/Base Stats/) {
  32.                 $mode = 3;
  33.             } elsif ($line =~ m/Information/) {
  34.                 $mode = 4;
  35.             } elsif ($line =~ m/Evolution/) {
  36.                 $mode = 5;
  37.             } elsif ($line =~ m/Capability List/) {
  38.                 $mode = 6;
  39.             } elsif ($line =~ m/Move List/) {
  40.                 $mode = 0 if ($line =~ m/Level Up Move List/);
  41.                 $mode = 1 if ($line =~ m/TM\/HM Move List/);
  42.                 $mode = 2 if ($line =~ m/Egg Move List/ or $line =~ m/Tutor Move List/);
  43.                 $line =~ s/List.*/List/;
  44.                 $switch = $line;
  45.             } elsif ($mode eq 3 and $line =~ m/\d/) {
  46.                 my $last = 0;
  47.                 $last = 1 if ($line =~ m/Speed/);
  48.                
  49.                 $line =~ s/\D//g;
  50.                 $info{'Stats'} .= $line;
  51.                
  52.                 $info{'Stats'} .= " / " if (not $last);
  53.                 next;
  54.             } elsif ($mode eq 4 or $line =~ m/Capture Rate/) {
  55.                 $mode = 4;
  56.                 my @seg = split(/\s*:\s*/, $line);
  57.                 if ($seg[1]) {
  58.                     $info{$seg[0]} = $seg[1];
  59.                     $switch = 1 if ($seg[0] eq 'Basic Abilities');
  60.                     $switch = 2 if ($seg[0] eq 'High Abilities');
  61.                 } else {
  62.                     if ($switch eq 1) {
  63.                         $info{'Basic Abilities'} .= $line;
  64.                     } elsif ($switch eq 2) {
  65.                         $info{'High Abilities'} .= $line;
  66.                     }
  67.                 }
  68.             } elsif ($mode eq 5) {
  69.                 $info{'Evolution'} .= "\n" if ($info{'Evolution'});
  70.                 $info{'Evolution'} .= $line;
  71.             } elsif ($mode eq 6) {
  72.                 $info{'Capabilities'} .= $line;
  73.             } else {
  74.                 if ($mode eq 0) {
  75.                     $info{$switch} .= "\n" if ($info{$switch});
  76.                     $line =~ s/ - \w+ *//;
  77.                 } elsif ($mode eq 2) {
  78.                     $line =~ s/, /\n/g;
  79.                 } elsif ($mode eq 1) {
  80.                     $line =~ s/[, ]+/\n/g;
  81.                     $line =~ s/01/TM01 Hone Claws/;
  82.                     $line =~ s/38/TM38 Fire Blast/;
  83.                     $line =~ s/02/TM02 Dragon Claw/;
  84.                     $line =~ s/39/TM39 Rock Tomb/;
  85.                     $line =~ s/03/TM03 Psyshock/;
  86.                     $line =~ s/40/TM40 Aerial Ace/;
  87.                     $line =~ s/04/TM04 Calm Mind/;
  88.                     $line =~ s/41/TM41 Torment/;
  89.                     $line =~ s/05/TM05 Roar/;
  90.                     $line =~ s/42/TM42 Facade/;
  91.                     $line =~ s/06/TM06 Toxic/;
  92.                     $line =~ s/43/TM43 Flame Charge/;
  93.                     $line =~ s/07/TM07 Hail/;
  94.                     $line =~ s/44/TM44 Rest/;
  95.                     $line =~ s/08/TM08 Bulk Up/;
  96.                     $line =~ s/45/TM45 Attract/;
  97.                     $line =~ s/09/TM09 Venoshock/;
  98.                     $line =~ s/46/TM46 Thief/;
  99.                     $line =~ s/10/TM10 Hidden Power/;
  100.                     $line =~ s/47/TM47 Low Sweep/;
  101.                     $line =~ s/11/TM11 Sunny Day/;
  102.                     $line =~ s/48/TM48 Round/;
  103.                     $line =~ s/12/TM12 Taunt/;
  104.                     $line =~ s/49/TM49 Echoed Voice/;
  105.                     $line =~ s/13/TM13 Ice Beam/;
  106.                     $line =~ s/50/TM50 Overheat/;
  107.                     $line =~ s/14/TM14 Blizzard/;
  108.                     $line =~ s/51/TM51 Ally Switch/;
  109.                     $line =~ s/15/TM15 Hyper Beam/;
  110.                     $line =~ s/52/TM52 Focus Blast/;
  111.                     $line =~ s/16/TM16 Light Screen/;
  112.                     $line =~ s/53/TM53 Energy Ball/;
  113.                     $line =~ s/17/TM17 Protect/;
  114.                     $line =~ s/54/TM54 False Swipe/;
  115.                     $line =~ s/18/TM18 Rain Dance/;
  116.                     $line =~ s/55/TM55 Scald/;
  117.                     $line =~ s/19/TM19 Telekinesis/;
  118.                     $line =~ s/56/TM56 Fling/;
  119.                     $line =~ s/20/TM20 Safeguard/;
  120.                     $line =~ s/57/TM57 Charge Beam/;
  121.                     $line =~ s/21/TM21 Frustration/;
  122.                     $line =~ s/58/TM58 Sky Drop/;
  123.                     $line =~ s/22/TM22 Solarbeam/;
  124.                     $line =~ s/59/TM59 Incinerate /;
  125.                     $line =~ s/23/TM23 Smack Down/;
  126.                     $line =~ s/60/TM60 Quash/;
  127.                     $line =~ s/24/TM24 Thunderbolt/;
  128.                     $line =~ s/61/TM61 Will-O-Wisp/;
  129.                     $line =~ s/25/TM25 Thunder/;
  130.                     $line =~ s/62/TM62 Acrobatics/;
  131.                     $line =~ s/26/TM26 Earthquake/;
  132.                     $line =~ s/63/TM63 Embargo/;
  133.                     $line =~ s/27/TM27 Return/;
  134.                     $line =~ s/64/TM64 Explosion/;
  135.                     $line =~ s/28/TM28 Dig/;
  136.                     $line =~ s/65/TM65 Shadow Claw/;
  137.                     $line =~ s/29/TM29 Psychic/;
  138.                     $line =~ s/66/TM66 Payback/;
  139.                     $line =~ s/30/TM30 Shadow Ball/;
  140.                     $line =~ s/67/TM67 Retaliate/;
  141.                     $line =~ s/31/TM31 Brick Break/;
  142.                     $line =~ s/68/TM68 Giga Impact/;
  143.                     $line =~ s/32/TM32 Double Team/;
  144.                     $line =~ s/69/TM69 Rock Polish/;
  145.                     $line =~ s/33/TM33 Reflect/;
  146.                     $line =~ s/70/TM70 Flash/;
  147.                     $line =~ s/34/TM34 Sludge Wave/;
  148.                     $line =~ s/71/TM71 Stone Edge/;
  149.                     $line =~ s/35/TM35 Flamethrower/;
  150.                     $line =~ s/72/TM72 Volt Switch/;
  151.                     $line =~ s/36/TM36 Sludge Bomb/;
  152.                     $line =~ s/73/TM73 Thunder Wave/;
  153.                     $line =~ s/37/TM37 Sandstorm/;
  154.                     $line =~ s/74/TM74 Gyro Ball/;
  155.                     $line =~ s/75/TM75 Swords Dance/;
  156.                     $line =~ s/89/TM89 U-Turn/;
  157.                     $line =~ s/76/TM76 Struggle Bug/;
  158.                     $line =~ s/90/TM90 Substitute/;
  159.                     $line =~ s/77/TM77 Psych Up/;
  160.                     $line =~ s/91/TM91 Flash Cannon/;
  161.                     $line =~ s/78/TM78 Bulldoze/;
  162.                     $line =~ s/92/TM92 Trick Room/;
  163.                     $line =~ s/79/TM79 Frost Breath/;
  164.                     $line =~ s/93/TM93 Wild Charge/;
  165.                     $line =~ s/80/TM80 Rock Slide/;
  166.                     $line =~ s/94/TM94 Rock Smash/;
  167.                     $line =~ s/81/TM81 X-Scissor/;
  168.                     $line =~ s/95/TM95 Snarl/;
  169.                     $line =~ s/82/TM82 Dragon Tail/;
  170.                     $line =~ s/A1/TMA1 Cut/;
  171.                     $line =~ s/83/TM83 Work Up/;
  172.                     $line =~ s/A2/TMA2 Fly/;
  173.                     $line =~ s/84/TM84 Poison Jab/;
  174.                     $line =~ s/A3/TMA3 Surf/;
  175.                     $line =~ s/85/TM85 Dream Eater/;
  176.                     $line =~ s/A4/TMA4 Strength/;
  177.                     $line =~ s/86/TM86 Grass Knot/;
  178.                     $line =~ s/A5/TMA5 Waterfall/;
  179.                     $line =~ s/87/TM87 Swagger/;
  180.                     $line =~ s/A6/TMA6 Dive/;
  181.                     $line =~ s/88/TM88 Pluck/;
  182.                 }
  183.                 $info{$switch} .= $line;
  184.             }
  185.         }
  186.  
  187.         my $clip;
  188.  
  189. $clip .= "|levelupmoves=$info{'Level Up Move List'}\n";
  190. $clip .= "|eggmoves=$info{'Egg Move List'}\n" if ($info{'Egg Move List'});
  191. $clip .= "|tmmoves=$info{'TM/HM Move List'}\n";
  192. $clip .= "|tutormoves=$info{'Tutor Move List'}\n";
  193.  
  194. $clip .= "|image=http://img.pokemondb.net/artwork/$info{'Link'}.jpg
  195. |stats=$info{'Stats'}
  196. |name=$info{'Name'}
  197. |type=$info{'Type'}
  198. |abilities=$info{'Basic Abilities'}
  199. |hiabilities=$info{'High Abilities'}
  200. |evotree=$info{'Evolution'}
  201. |height=$info{'Height'}
  202. |weight=$info{'Weight'}
  203. |genratio=$info{'Gender Ratio'}
  204. |egggroup=$info{'Egg Group'}
  205. ";
  206.  
  207. $clip .= "|hatchtime=$info{'Average Hatch Rate'}\n" if ($info{'Average Hatch Rate'});
  208.  
  209. $clip .= "|diet=$info{'Diet'}
  210. |habitat=$info{'Habitat'}
  211. |caps=$info{'Capabilities'}
  212. |caprate=$info{'Capture Rate'}
  213. |expdrop=$info{'Experience Drop'}\n";
  214.  
  215.         $clip =~ s/\n\s*\n/\n/s;
  216.         chomp $clip;
  217.        
  218.         $filecontents .= $clip;
  219.         $filecontents .= "\n]]";
  220.        
  221.         print "Next Evolution? ";
  222.         my $choice = <>;
  223.         if ($choice =~ m/[Nn]/) {
  224.             $filename = $basename . ".txt" if (not $filename);
  225.             last;
  226.         }
  227.        
  228.         $filename = $basename . "-line.txt" if (not $filename);
  229.        
  230.         $filecontents .= "\n\n----\n\n[[include template:evolved-mon\n";
  231.     }
  232.        
  233.     open FILOUT, ">$filename";
  234.     print FILOUT $filecontents;
  235.     close FILOUT;
  236.    
  237.     print "Uploading $filename...\n";
  238.     $ftp->put($filename) or die "Upload failed ", $ftp->message;
  239.     print "Deleting file...\n";
  240.     unlink $filename;
  241.    
  242.     print "upload complete! Continue? ";
  243.     my $choice = <>;
  244.     last if ($choice =~ m/[Nn]/);
  245. }
  246.  
  247. print "Closing connection...\n";
  248. $ftp->quit;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement