changeset 286:f749342539de misc

Various cleanups.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 09 Mar 2015 06:09:52 +0200
parents c30ea380329a
children 635da7cf43b6
files nun/tasks/findreqs.pl
diffstat 1 files changed, 78 insertions(+), 54 deletions(-) [+]
line wrap: on
line diff
--- a/nun/tasks/findreqs.pl	Mon Mar 09 05:45:34 2015 +0200
+++ b/nun/tasks/findreqs.pl	Mon Mar 09 06:09:52 2015 +0200
@@ -1,39 +1,53 @@
 #!/usr/bin/perl -w
 use strict;
-my %taskList;
+use warnings;
+my %taskList = ();
 my @tmpList = ();
 my $wasFound = 0;
 my $n;
+my $nline = 0;
 
 ### Process and parse input logfile
-while (<STDIN>) {
-  chomp;
-  if (/^New holy task '(.+)' is now available to you\.$/) {
+while (defined(my $line = <STDIN>))
+{
+  $nline++;
+  chomp($line);
+
+  if ($line =~ /^New holy task '(.+)' is now available to you\.$/)
+  {
     push(@tmpList, $1);
     $wasFound = 1;
     $n = 0;
-  } elsif ($wasFound) {
-    if (/^You now have '(.+)' at ([0-9]+)\% without special bonuses\.$/) {
-      my $tmpName = $1;
-      my $tmpPercentage = $2;
-      $n = 10;
-      
-      for my $taskName (@tmpList) {
-        if (defined($taskList{$taskName}{$tmpName})) {
-          if ($tmpPercentage < $taskList{$taskName}{$tmpName}) {
-            $taskList{$taskName}{$tmpName} = $tmpPercentage;
-          }
-        } else {
+  }
+  elsif ($line =~ /^You now have '(.+)' at ([0-9]+)\% without special bonuses\.$/ && $wasFound)
+  {
+    my $tmpName = $1;
+    my $tmpPercentage = $2;
+    $n = 10;
+
+    for my $taskName (@tmpList)
+    {
+      if (defined($taskList{$taskName}{$tmpName}))
+      {
+        if ($tmpPercentage < $taskList{$taskName}{$tmpName})
+        {
           $taskList{$taskName}{$tmpName} = $tmpPercentage;
         }
       }
+      else
+      {
+        $taskList{$taskName}{$tmpName} = $tmpPercentage;
+      }
     }
   }
-  
-  if ($n++ >= 6) {
+
+  if ($n++ >= 6)
+  {
     $wasFound = 0;
-    for my $taskName (@tmpList) {
-      if (!defined($taskList{$taskName})) {
+    for my $taskName (@tmpList)
+    {
+      if (!defined($taskList{$taskName}))
+      {
         $taskList{$taskName} = ();
       }
     }
@@ -42,6 +56,12 @@
 }
 
 
+sub print_separator()
+{
+  print "|--------------------------------------------------------------------|\n";
+}
+
+
 ### Print out the results
 $n = 0;
 if ($#ARGV >= 0) {
@@ -58,41 +78,45 @@
       print "\n";
     }
   }
-} else {
-my $sepLine = 0;
-print  ",--------------------------------------------------------------------.\n";
-print  "| Task name                        | Skill/spell               | Min |\n";
-print  "+----------------------------------+---------------------------+-----+\n";
-for my $taskName (sort keys %taskList) {
-  my $i = keys(%{$taskList{$taskName}});
-  
-  if ($i == 0) {
-    if (!$sepLine) {
-    print "|--------------------------------------------------------------------|\n";
-    }
-    printf "| %-32s                                   |\n", $taskName;
-    print "|--------------------------------------------------------------------|\n";
-    $sepLine = 1;
-  } elsif ($i == 1) {
-    for my $skillName (sort keys %{$taskList{$taskName}}) {
-    printf "| %-32s | %-25s | %3d |\n", $taskName, $skillName, $taskList{$taskName}{$skillName};
+}
+else
+{
+  my $sepLine = 0;
+  print  ",--------------------------------------------------------------------.\n";
+  print  "| Task name                        | Skill/spell               | Min |\n";
+  print  "+----------------------------------+---------------------------+-----+\n";
+  for my $taskName (sort keys %taskList)
+  {
+    my $i = keys(%{$taskList{$taskName}});
+    
+    if ($i == 0)
+    {
+      print_separator() if (!$sepLine);
+      printf "| %-32s                                   |\n", $taskName;
+      print_separator();
+      $sepLine = 1;
     }
-    $sepLine = 0;
-  } else {
-    if (!$sepLine) {
-    print "|--------------------------------------------------------------------|\n";
-    }
-    printf "| %-66s |\n", $taskName;
-    for my $skillName (sort keys %{$taskList{$taskName}}) {
-    printf "| %-32s | %-25s | %3d |\n", "", $skillName, $taskList{$taskName}{$skillName};
+    elsif ($i == 1)
+    {
+      for my $skillName (sort keys %{$taskList{$taskName}}) {
+        printf "| %-32s | %-25s | %3d |\n", $taskName, $skillName, $taskList{$taskName}{$skillName};
+      }
+      $sepLine = 0;
     }
-    print "|--------------------------------------------------------------------|\n";
-    $sepLine = 1;
-  }
+    else
+    {
+      print_separator() if (!$sepLine);
+      printf "| %-66s |\n", $taskName;
+      for my $skillName (sort keys %{$taskList{$taskName}}) {
+        printf "| %-32s | %-25s | %3d |\n", "", $skillName, $taskList{$taskName}{$skillName};
+      }
+      print_separator();
+      $sepLine = 1;
+    }
 
-  $n++;
+    $n++;
+  }
+  print  "|-----------------+----------------+---------------------------+-----'\n";
+  printf "| %3d tasks total |\n", $n;
+  print  "`-----------------'\n";
 }
-print  "|-----------------+----------------+---------------------------+-----'\n";
-printf "| %3d tasks total |\n", $n;
-print  "`-----------------'\n";
-}