use warnings; use strict; @ARGV = map "server$_", 1 .. 8; my %data; while ( <> ) { push @{ $data{ $ARGV } }, [ split ]; }