perl -le '$_ = "foo\n";print "string with trailing newline" if !/.*\z/ and /.*\z/s' string with trailing newline perl -le '$_ = "foo\nbar";print "string with trailing newline" if !/.*\z/ and /.*\z/s'