Re: grep: show matching line from pattern file
- To: debian-user@lists.debian.org
- Subject: Re: grep: show matching line from pattern file
- From: Will Mengarini <seldon@eskimo.com>
- Date: Thu, 2 Jun 2022 15:13:30 -0700
- Message-id: <[🔎] Ypk2CizWLDxn3vKD@eskimo.com>
- In-reply-to: <YpKQAJnDD1E2mEN2@wooledge.org>
- References: <18960edcacbdde30c3247f3426f8ae1052e54c83.camel@k4vqc.com> <62927FDF.6080407@fastmail.fm> <YpKQAJnDD1E2mEN2@wooledge.org>
* Greg Wooledge <greg@wooledge.org> [22-05/28=Sa 17:11 -0400]:
> [...]
> #!/usr/bin/perl
> use strict; use warnings;
> [...]
> open PATS, "<patterns.txt" || die "can't open patterns.txt";
> [...]
You need "or die", not "|| die", because of precedence: what you coded
checks whether "<patterns.txt" is logically true (it is), whereas you
wanted to check whether the result of open() is logically true.
In this transcript, the number before the prompt-ending '$' is $?:
--------------------------------
debian/pts/4 bash3 ~ 14:56 0$perl -e 'open "gweeblefleep" || die'
debian/pts/4 bash3 ~ 14:57 0$perl -e 'open "gweeblefleep" or die'
Died at -e line 1.
debian/pts/4 bash3 ~ 14:57 2$
--------------------------------
--
Will Mengarini <seldon@eskimo.com>
perl -le"print unpack '%C*',MENGARINI"
Reply to: