develooper Front page | perl.perl5.porters | Postings from September 2021

Re: Pre-RFC: command-line flag for slurping

Thread Previous | Thread Next
From:
Oodler 577 via perl5-porters
Date:
September 29, 2021 22:46
Subject:
Re: Pre-RFC: command-line flag for slurping
Message ID:
YVTsyOH1dKfjKgGz@odin.sdf-eu.org
* Dan Book <grinnz@gmail.com> [2021-09-29 15:12:53 -0400]:

> On Wed, Sep 29, 2021 at 2:55 PM Oodler 577 via perl5-porters <
> perl5-porters@perl.org> wrote:
> 
> > * Scott Baker <scott@perturb.org> [2021-09-29 08:37:57 -0700]:
> >
> > > On 9/29/21 08:21, Dan Book wrote:
> > > > On Wed, Sep 29, 2021 at 11:00 AM Tomasz Konojacki <me@xenu.pl> wrote:
> > > >
> > > >     "-0777" flag is the usual way to read the whole file at once
> > > >     (instead of
> > > >     line by line) in one-liners.
> > > >
> > > >     I feel this isn't ideal. "-0" is a bad flag. It's overly general,
> > > >     users
> > > >     rarely need $/ to be set to anything other than undef or "\n".
> > > >     Also, the
> > > >     input record separator has to be specified as an octal number,
> > > >     which is
> > > >     weird. The fact that the numbers above 0o377 are special-cased to
> > mean
> > > >     "undef" makes it even more confusing.
> > > >
> > > >     Slurping is an extremely common operation and it deserves its own
> > > >     one-letter flag. I propse "-g" (mnemonics: gobble, grab, gulp). I
> > wish
> > > >     it could be "-s", but sadly it's already taken :(
> > > >
> > > >
> > > > I think this is an excellent idea. This sort of processing using Perl
> > > > oneliners is extremely common and spread across the internet, and the
> > > > '-0777' flag is a constant source of confusion. Ideally perl would have
> > > > support for long options so we didn't have to take up the dwindling
> > > > one-letter options, but in the meantime, they are not in high demand so
> > > > IMO it's fine to use one for this.
> >
> > Seems like anything would need to consider also -n and -l, any others? I'm
> > not
> > a perl oneliner wizard by any means, but these two came up in my google.
> >
> 
> -0777 interacts with these options in a reasonable and expected way, and
> the proposed -g would do the same.

If it's going to be equivalent to "-0777", which directly impacts the record
separator, then "-R" is probably better. None of the mnemonics proposed to fit
with "-g" are common parlance. It's also associated with creating executables
containing extra-stuff for debuggers in gcc. That seems it could be helpful at
some point for actual debugging, or at least seems a little dissonant for cli
jockies. 

Then again, the general move towards long opts would make it pretty easy to do
something like "--record-separator|--slurp". So it seems to me that supporting
long opts is probably the real "ask".

Brett

> 
> -Dan

-- 
--
oodler@cpan.org
oodler577@sdf-eu.org
SDF-EU Public Access UNIX System - http://sdfeu.org
irc.perl.org #openmp #pdl #native

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About