use strict; use warnings; use IO::File; my $inFile = q{spw623147.txt}; my $inFH = IO::File->new($inFile, O_RDONLY) #open my $inFH, q{<}, $inFile or die qq{open: $inFile: $!\n}; while ( $_ = $inFH->getline() ) #while ( <$inFH> ) { if ( m{\A\.rem} ) { print qq{ Comment Line: $_}; next; } if ( m{\A\.declare\s+(\S+)} ) { print qq{ Data Line: $_}; print qq{ Variable is: $1\n}; next; } print qq{Not recognised: $_}; } $inFH->close() #close $inFH or die qq{close: $inFile: $!\n};