changeset 304:5f5f45216218 misc

Cleanup data structure usage.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 29 Dec 2015 04:51:22 +0200
parents 0f751e08c932
children 8c9b9156a235
files materials/parsematerial.pl
diffstat 1 files changed, 37 insertions(+), 37 deletions(-) [+]
line wrap: on
line diff
--- a/materials/parsematerial.pl	Tue Dec 29 02:16:46 2015 +0200
+++ b/materials/parsematerial.pl	Tue Dec 29 04:51:22 2015 +0200
@@ -373,7 +373,7 @@
 ###
 ### Parse input materials
 ###
-my %data = ();
+my $data = {};
 my $name = "";
 my $nline = 0;
 while (defined(my $line = <STDIN>))
@@ -386,76 +386,76 @@
   }
   elsif ($line =~ /^Weight \(g\/l\)\: *\(([a-z. ]+)\) *Sturdyness\: *\(([a-z. ]+)\)/)
   {
-    $data{$name}{2} = mtranslate(2, $1);
-    $data{$name}{3} = mtranslate(3, $2);
+    $$data{$name}{2} = mtranslate(2, $1);
+    $$data{$name}{3} = mtranslate(3, $2);
   }
   elsif ($line =~ /^Magic\: *\(([a-z. ]+)\) *Flammability\: *\(([a-z. ]+)\)/)
   {
-    $data{$name}{4} = mtranslate(4, $1);
-    $data{$name}{5} = mtranslate(5, $2);
+    $$data{$name}{4} = mtranslate(4, $1);
+    $$data{$name}{5} = mtranslate(5, $2);
   }
   elsif ($line =~ /^Warmth\: *\(([a-z. ]+ outfit)\) *Toxicity\: *\(([a-z. ]+)\)/)
   {
     my ($tmp1, $tmp2) = ($1, $2);
     $tmp1 =~ s/ +outfit$//;
-    $data{$name}{6} = mtranslate(6, $tmp1);
-    $data{$name}{7} = mtranslate(7, $tmp2);
+    $$data{$name}{6} = mtranslate(6, $tmp1);
+    $$data{$name}{7} = mtranslate(7, $tmp2);
   }
   elsif ($line =~ /^Warmth\: *\(([a-z. ]+)\) *Toxicity\: *\(([a-z. ]+)\)/)
   {
     my ($tmp1, $tmp2) = ($1, $2);
-    $data{$name}{6} = mtranslate(6, $1);
-    $data{$name}{7} = mtranslate(7, $2);
+    $$data{$name}{6} = mtranslate(6, $1);
+    $$data{$name}{7} = mtranslate(7, $2);
   }
   elsif ($line =~ /^Resistivity\: *\(([a-z. ]+ insulator)\) *Malleability\: *\(([a-z. ]+)\)?/)
   {
     my ($tmp1, $tmp2) = ($1, $2);
     $tmp1 =~ s/ +insulator$//;
-    $data{$name}{8} = mtranslate(8, $tmp1);
-    $data{$name}{9} = mtranslate(9, $tmp2);
+    $$data{$name}{8} = mtranslate(8, $tmp1);
+    $$data{$name}{9} = mtranslate(9, $tmp2);
   }
   elsif ($line =~ /^Resistivity\: *\(([a-z. ]+)\) *Malleability\: *\(([a-z. ]+)\)?/)
   {
-    $data{$name}{8} = mtranslate(8, $1);
-    $data{$name}{9} = mtranslate(9, $2);
+    $$data{$name}{8} = mtranslate(8, $1);
+    $$data{$name}{9} = mtranslate(9, $2);
   }
   elsif ($line =~ /^Mentality\: *\(([a-z. ]+)\) *Reactivity\: *\(([a-z. ]+)\)?/)
   {
-    $data{$name}{10} = mtranslate(10, $1);
-    $data{$name}{11} = mtranslate(11, $2);
+    $$data{$name}{10} = mtranslate(10, $1);
+    $$data{$name}{11} = mtranslate(11, $2);
   }
   elsif ($line =~ /^Weapon rarity\: *\(([a-z. ]+)\) *Armour rarity\: *\(([a-z. ]+)\)/)
   {
-    $data{$name}{12} = mtranslate(12, $1);
-    $data{$name}{13} = mtranslate(13, $2);
+    $$data{$name}{12} = mtranslate(12, $1);
+    $$data{$name}{13} = mtranslate(13, $2);
   }
   elsif ($line =~ /^Value \(gp\/kg\)\: *\(([a-z -]+)\) *Rarity\: *\(([a-z. ]+)\)/)
   {
-    $data{$name}{14} = mtranslate(14, $1);
-    $data{$name}{15} = mtranslate(15, $2);
+    $$data{$name}{14} = mtranslate(14, $1);
+    $$data{$name}{15} = mtranslate(15, $2);
   }
   elsif ($line =~ /^Article\: *([a-z. ]+) *Type: *([A-Za-z]+)/)
   {
     my ($tmp1, $tmp2) = ($1, $2);
     $tmp1 =~ s/ *$//;
 
-    $data{$name}{"article"} = $tmp1;
-    $data{$name}{16} = mtranslate(16, $tmp2);
+    $$data{$name}{"article"} = $tmp1;
+    $$data{$name}{16} = mtranslate(16, $tmp2);
   }
   elsif ($line =~ /^Found nature\: *(Yes|No) *Lode name\: *([A-Za-z]+)/)
   {
-    $data{$name}{17} = mtranslate(17, $1);
-    $data{$name}{18} = mtranslate(18, $2);
+    $$data{$name}{17} = mtranslate(17, $1);
+    $$data{$name}{18} = mtranslate(18, $2);
   }
   elsif ($line =~ /^Raw names\: *([a-z, ]+[a-z])/)
   {
     my $tmp = $1;
-    @{$data{$name}{19}} = map { mtranslate(19, $_) } split(/, */, $tmp);
+    @{$$data{$name}{19}} = map { mtranslate(19, $_) } split(/, */, $tmp);
   }
   elsif ($line =~ /^Refined names\: *([a-z, ]+[a-z])/)
   {
     my $tmp = $1;
-    @{$data{$name}{20}} = map { mtranslate(20, $_) } split(/, */, $tmp);
+    @{$$data{$name}{20}} = map { mtranslate(20, $_) } split(/, */, $tmp);
   }
   elsif ($line =~ /^-+$|^\s*$/)
   {
@@ -468,13 +468,13 @@
 }
 
 # Sort the entries by name
-my @entries = sort { $a cmp $b } keys %data;
+my @entries = sort { $a cmp $b } keys %$data;
 
 # Sort materials by type
 my %matByType = ();
 foreach my $name (@entries)
 {
-  push(@{$matByType{$data{$name}{16}}}, lc($name));
+  push(@{$matByType{$$data{$name}{16}}}, lc($name));
 }
 
 # List of known types
@@ -494,8 +494,8 @@
 {
   my ($name, $i) = @_;
   return $name if ($i == 1);
-  return join(", ", pta($data{$name}, $i)) if (ref($data{$name}{$i}) eq "ARRAY");
-  return pt($data{$name}, $i);
+  return join(", ", pta($$data{$name}, $i)) if (ref($$data{$name}{$i}) eq "ARRAY");
+  return pt($$data{$name}, $i);
 }
 
 
@@ -571,7 +571,7 @@
     my $filename = $name.".mat";
     $filename =~ s/[^a-z0-9]/_/g;
     open(OUTFILE, ">", $filename) or die("Error opening file '".$filename."' ".$!."\n");
-    print_material_long(\*OUTFILE, $data{$name}, $name);
+    print_material_long(\*OUTFILE, $$data{$name}, $name);
     close(OUTFILE);
   }
 }
@@ -584,7 +584,7 @@
   {
     print "\n".
     "-------------------------------------------------------------------------------\n";
-    print_material_long(\*STDOUT, $data{$name}, $name);
+    print_material_long(\*STDOUT, $$data{$name}, $name);
   }
 }
 ###
@@ -593,7 +593,7 @@
 elsif ($opt_mode eq "-tf")
 {
   print "/set gmat_names=".join(' ', @entries)."\n";
-  print "/set gmat_ntypes=".join(' ', map(lc(pt($data{$_},16)), @entries))."\n";
+  print "/set gmat_ntypes=".join(' ', map(lc(pt($$data{$_},16)), @entries))."\n";
   print "/set gmat_types=".join(' ', map(lc(ptranslate(16,$_)), values %matTypes))."\n";
   
   foreach my $type (values %matTypes)
@@ -642,7 +642,7 @@
     "\@EXPORT = qw(matTable transTable revTransTable matByType matTypes);\n".
     "\n";
 
-  my $dumper = Data::Dumper->new([\%data], ["matTable"]);
+  my $dumper = Data::Dumper->new([$data], ["matTable"]);
   print "our ".$dumper->Dump()."\n\n";
 
   $dumper = Data::Dumper->new([\%transTable], ["transTable"]);
@@ -683,19 +683,19 @@
   }
   print ");\n\n".
   "\$matDataTable = array(\n";
-  foreach my $name (sort { $a cmp $b } keys %data)
+  foreach my $name (sort { $a cmp $b } keys %$data)
   {
     print "  \"$name\" => array(";
     for (my $qn = 1; $qn < scalar(@fieldInfo); $qn++)
     {
       my $i = $fieldInfo[$qn]{"i"};
-      if (ref($data{$name}{$i}) eq "ARRAY")
+      if (ref($$data{$name}{$i}) eq "ARRAY")
       {
-        print "array(".join(",", @{$data{$name}{$i}})."),";
+        print "array(".join(",", @{$$data{$name}{$i}})."),";
       }
       else
       {
-        print $data{$name}{$i}.", ";
+        print $$data{$name}{$i}.", ";
       }
     }
     print "),\n";