in reply to splitting a line into an array

dbrock,
This is how I would do it:
#!/usr/bin/perl -w use strict; my %data; open (INPUT,"file") or die "Unable to open file : $!"; while (<INPUT>) { my @temparray = split /\s+/; next unless (@temparray == 14); $data{$temparray[0]} = \@temparray; } foreach (keys %data) { print "$_:\n"; $data{$_}->[3] ? print "\tSuccess\n" : print "\tFailure\n"; print "\tStart: $data{$_}->[5]\n"; print "\tFinish: $data{$_}->[7]\n"; print "\tH/M/S: $data{$_}->[8]\n"; print "\tMBs: $data{$_}->[9]\n"; }

Now let me explain what is going on:

  • You have a Hash or Arrays or HoA
  • The @temparray == 14 ensures only the entries you want if keys are not unique use an AoA instead of HoA
  • You set the hash key to a reference to the array
  • You can then pull out any group and value easily

    If the group names are not going to be unique, then you can change the HoA to an Array of Arrays (AoA).

    Cheers - L~R