#!/usr/bin/perl # set $listfile to some constant, or to $ARGV[0] (and supply the file #+name # as a command-line arg when you run the script) my %outfh; # hash to hold output file handles open ORIGFILE, $ARGV[0] or die "$ARGV[0]: $!"; while ( ) { my ( $host, $data ) = split " ", $_, 2; if ( ! exists( $outfh{$host} )) { open( $outfh{$host}, ">", $host ) or die "$host: $!"; } print $outfh{$host} $data; } # perl will flush and close output files when done #### Scalar found where operator expected at ./nocsplit.pl line 17, near "} $data" (Missing operator before $data?) syntax error at ./nocsplit.pl line 17, near "} $data" Execution of ./nocsplit.pl aborted due to compilation errors. #### print to $outfh{$host} $data;