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