use warnings; use strict; die "no filename given" unless @ARGV; my $filename = $ARGV[0]; open my $fh_input, '<', $filename or die "opening '$filename': $!"; my @lines = <$fh_input>; die "no lines read from '$filename': $!" unless @lines; close $fh_input or die "closing '$filename': $!"; chomp @lines; die "more than one line in '$filename'" unless @lines == 1; my $line = $lines[0]; die "'$filename' contains something other than ACTG sequence" if $line =~ m{ [^actgACTG] }xms; my $result = do_something_with($line); print "result is: 'result'"; exit; sub do_something_with { ... }