/ libxml2 / dbgen.pl
dbgen.pl
 1  #!/usr/bin/perl
 2  
 3  $size = shift;
 4  
 5  if ($size eq "") 
 6  {
 7      die "usage:  dbgen.pl [size]\n";
 8  }
 9  
10  @firstnames = ("Al", "Bob", "Charles", "David", "Egon", "Farbood", 
11                 "George", "Hank", "Inki", "James");
12  @lastnames = ("Aranow", "Barker", "Corsetti", "Dershowitz", "Engleman", 
13                "Franklin", "Grice", "Haverford", "Ilvedson", "Jones");
14  @states = ("AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", 
15             "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", 
16             "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", 
17             "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", 
18             "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY");
19  
20  print "<?xml version=\"1.0\"?>\n";
21  print "\n";
22  print "<table>\n";
23  
24  for ($i=0; $i<$size; $i++)
25  {
26      $first = $firstnames [$i % 10];
27      $last = $lastnames [($i / 10) % 10];
28      $state = $states [($i / 100) % 50];
29      $zip = 22000 + $i / 5000;
30  
31      printf "  <row>\n";
32      printf "    <id>%04d</id>\n", $i;
33      printf "    <firstname>$first</firstname>\n", $i;
34      printf "    <lastname>$last</lastname>\n", $i;
35      printf "    <street>%d Any St.</street>\n", ($i % 100) + 1;
36      printf "    <city>Anytown</city>\n";
37      printf "    <state>$state</state>\n";
38      printf "    <zip>%d</zip>\n", $zip;
39      printf "  </row>\n";
40  }
41  
42  print "</table>\n";
43