1#! /usr/bin/perl -w
2
3use strict;
4
5use FileHandle;
6
7my $prefix = shift;
8
9# <type> <len> <num> <sz> <xtra> <speed> <mem>
10
11my %fields = (type  => 0, len   => 1, num => 2, sz        => 3,
12	      extra => 4, speed => 5, mem => 6, unusedmem => 7);
13
14my $store = {};
15
16sub print_data
17{
18	my $a   = shift;
19	my $key = shift;
20
21	open (OUT, "> $prefix-$key.csv") || die ("open: $!\n");
22
23	splice(@$a, 2, 3);
24	splice(@$a, 0, 1);
25
26	while (scalar(@$a) > 4)
27	{
28		OUT->print(join " ", splice(@$a, 0, 4));
29        	OUT->print("\n");
30       	}
31}
32
33while (<>)
34{
35	my @vals = split;
36
37	if (scalar(@vals) != 8) { next; }
38
39	my $key = join "_", ($vals[$fields{num}], $vals[$fields{extra}],
40                             $vals[$fields{sz}],  $vals[$fields{type}]);
41	my $a = $store->{$key};
42
43	if (!defined (@$a))
44	{ # First time...
45		$a = $store->{$key} = [];
46
47		push(@$a, @vals);
48		next;
49	}
50
51	# Same as previous...
52	push(@$a, @vals[$fields{len}, $fields{speed},
53			$fields{mem}, $fields{unusedmem}]);
54}
55
56for (keys %$store)
57{
58	my $a = $store->{$_};
59
60	if (!scalar(@$a)) { next; }
61
62	print_data($a, $_);
63}
64
65