Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Golf: reverse sort /etc/passwd by UID

by MidLifeXis (Monsignor)
on Feb 06, 2013 at 14:22 UTC ( #1017444=note: print w/ replies, xml ) Need Help??


in reply to Golf: reverse sort /etc/passwd by UID

51:

# 1 2 3 4 5 # 123456789012345678901234567890123456789012345678901 print sort{($x,$y)=(split(":",$a.$b))[2,8];$y-$x}<>

First-ever golf, has to be a better solution.

--MidLifeXis


Comment on Re: Golf: reverse sort /etc/passwd by UID
Download Code
Replies are listed 'Best First'.
Re^2: Golf: reverse sort /etc/passwd by UID
by tobyink (Abbot) on Feb 06, 2013 at 14:30 UTC

    Nice trick with split. Can be improved somewhat...

    # 1 2 3 4 # 1234567890123456789012345678901234567890123 perl -e'print sort{@x=split":",$a.$b;$x[8]-$x[2]}<>' /etc/passwd

    Or even:

    # 1 2 3 4 # 123456789012345678901234567890123456789012 perl -e'print sort{(@x=split":",$a.$b)[8]-$x[2]}<>' /etc/passwd

    Update: or with a sufficiently outdated Perl...

    # 1 2 3 4 # 1234567890123456789012345678901234567890 perl5.8.9 -e'print sort{split":",$a.$b;$_[8]-$_[2]}<>' /etc/passwd

    (split in void context was deprecated in 5.10 and dropped in 5.12 IIRC.)

    package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name

      D'oh :-) Also, 41 using say.

      Update: Nice: 40?

      Update 2: Beat me to the punch on scalar split and @_ :-)

      --MidLifeXis

Re^2: Golf: reverse sort /etc/passwd by UID (49?)
by MidLifeXis (Monsignor) on Feb 06, 2013 at 14:26 UTC

    49: s/print/say/ ( I think - don't have a perl > 5.8.8 installed with a passwd file ).

    --MidLifeXis

Re^2: Golf: reverse sort /etc/passwd by UID
by Tommy (Chaplain) on Feb 06, 2013 at 15:07 UTC

    That. Was. Awesome.

    ++MidLifeXis

    Tommy
    A mistake can be valuable or costly, depending on how faithfully you pursue correction

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1017444]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (6)
As of 2015-07-08 01:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls