#!/bin/perl use v5.18; use warnings; my $filename = shift // '1001.nc'; my $arg1 = shift // 0; open(my $fh, '<:encoding(UTF-8)', $filename) or die "Could not open file '$filename' $!"; my ($g, $f) = ('G', 'F'); while (my $row = <$fh>) { $row =~ s/\r?\n$//; my $newrow; for my $word (split / /, $row){ given (substr($word, 0, 1)) { when ('N') { next if $arg1 == 1 } when ('G') { if ($word ne $g) { $g = $word } else { next } } when ('F') { if ($word ne $f) { $f = $word } else { next } } } $newrow .= " $word"; } $newrow =~ s/^\s+|\s+$//g; say $newrow; }