while (<>) {
my ($prefix, $tail) = /(\S+) (.*)/;
print "\n" if $currPrefix && $currPrefix ne $prefix;
print "$prefix $tail";
$currPrefix = $prefix;
}
####
#!/usr/bin/perl
use strict;
use warnings;
my $in = *STDIN;
my $out = *STDOUT;
if (@ARGV == 2) {
open $in, '<', $ARGV[0] or die "Can't open '$ARGV[0]': $!\n";
open $out, '>', $ARGV[1] or die "Can't create '$ARGV[1]': $!\n";
}
my $currPrefix;
while (<$in>) {
my ($prefix, $tail) = /(\S+) (.*)/;
print $out "\n" if $currPrefix && $currPrefix ne $prefix;
print $out "$prefix $tail";
$currPrefix = $prefix;
}
####
#!/usr/bin/perl
use strict;
use warnings;
my $currPrefix;
$^I = '.bak';
while (<>) {
my ($prefix, $tail) = /(\S+) (.*)/;
print "\n" if $currPrefix && $currPrefix ne $prefix;
print "$prefix $tail";
$currPrefix = $prefix;
}