use strict; use warnings; my $file = shift; open FILE, $file or die "Can't read from $file!\n"; my @lines; while (my $line = ) { if ($line =~ /\>/) { push @lines, (split( /\s/, $line ))[0] . "\n"; } else { push @lines, $line; } } close FILE; open FILE, '>', $file or die "Can't write to $file!\n"; print FILE @lines; close FILE; #### use strict; use warnings; use Tie::File; my $file = shift; tie my @lines, 'Tie::File', $file or die "Can't read from $file\n"; for (0 .. $#lines) { if ($lines[$_] =~ /\>/) { $lines[$_] = (split( /\s/, $lines[$_] ))[0] . "\n"; } }