Advertisement
krzysz00

Code that errors out

Jun 17th, 2013
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.83 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use strict;
  3. # use Data::Dumper;
  4.  
  5. sub max {
  6.     my ($a, $b) = @_;
  7.     if ($a >= $b) {
  8.         return $a;
  9.     }
  10.     else {
  11.         return $b;
  12.     }
  13. }
  14.  
  15. my %sims;
  16. my $sim_num = -1;
  17. my $centrality = "";
  18. my $num_vaccines = -1;
  19. my $day = -1;
  20.  
  21. while (<>) {
  22.     if (/Simulation \#(\d+) \((.+)\) \((\d+) vaccines\)/) {
  23.         $sim_num = $1;
  24.         $centrality = $2;
  25.         $num_vaccines = $3;
  26.     }
  27.     elsif (/^Day (\d+)$/) {
  28.         $day = $1;
  29.     }
  30.     elsif (/^(\d+) \(([0-9.]+)%\) (.+)\.$/) {
  31.         $sims{$num_vaccines}{$centrality}{$day}{$3} += ($2 + 0.0);
  32.     }
  33. }
  34.  
  35. #print Dumper(\%sims);
  36.  
  37. $sim_num++;
  38.  
  39. #print("$sim_num\n");
  40. my @states = ("susceptible", "latent", "infected", "recovered");
  41. my @centralities = ("Out-Degree centrality", "Eigenvector centrality", "In-Degree centrality", "Random centrality");
  42. foreach my $vn (keys %sims) {
  43.     print "$vn";
  44.     foreach my $c (@centralities) {
  45.         my $peak = -1;
  46.         foreach my $d (keys %sims{$vn}{$c}) {
  47.             $peak = max($peak,$sims{$vn}{$c}{$d}{"infected"});
  48.         }
  49.         print(" $max");
  50.     }
  51.     print("\n");
  52. }
  53.  
  54. ## The errors
  55. # syntax error at cdvn-abbrev-gnuplot.pl line 46, near "%sims{"
  56. # Global symbol "$c" requires explicit package name at cdvn-abbrev-gnuplot.pl line 46.
  57. # syntax error at cdvn-abbrev-gnuplot.pl line 46, near "}) "
  58. # Global symbol "$peak" requires explicit package name at cdvn-abbrev-gnuplot.pl line 47.
  59. # Global symbol "$peak" requires explicit package name at cdvn-abbrev-gnuplot.pl line 47.
  60. # Global symbol "$c" requires explicit package name at cdvn-abbrev-gnuplot.pl line 47.
  61. # Global symbol "$d" requires explicit package name at cdvn-abbrev-gnuplot.pl line 47.
  62. # syntax error at cdvn-abbrev-gnuplot.pl line 47, near "})"
  63. # Execution of cdvn-abbrev-gnuplot.pl aborted due to compilation errors.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement