use warnings; use strict; while ( my $line = ) { my ( $first, $fourth ) = (split(/:/, $line))[0,3]; $fourth =~ s/,.+$//; print "$first, $fourth\n"; } __DATA__ First column:Second:Third:Fourth Column, with some extra crap:Fifth First column:Second:Third:Fourth Column, with some extra crap, and even more:Fifth