1: This probably doesn't present much of a challenge, but I thought I'd post 2: it since it's the first time I've ever really grokked Perl golf. 3: 4: A coworker (non-programmer) has been taking a course in C and asked me to 5: help out with a program that takes a list of names through input, and 6: print them back out when finished. Since I don't know C, I thought I'd 7: show her how it could be done in Perl. Then something weird clicked in 8: my brain, and I began shaving my original script down, character by 9: character, from 201 characters (formatted and commented) to 77. 10: 11: My version takes a list of names in 'first m last' (e.g. "Larry J Wall") 12: format, and appends the name to a file in 'last first m' format. 13: The script ends when it does not receive input in the correct format. 14: 15: Here's what I came up with... 16: 17: 18: #!/usr/bin/perl 19: 20: open(N,">>names");while(<>){last if!/(\w+) (\w) (\w+)/;print N"$3\t$1\t$2\n"} 21: 22: 23: It can be brought down to 71 characters by shortening the filename 24: and replacing the tabs with spaces, but I thought I'd go for an output 25: with a tad bit of formatting. :) 26: 27: joecamel
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: A first one-liner
by MeowChow (Vicar) on Jul 12, 2001 at 10:52 UTC | |
Re: A first one-liner
by MZSanford (Curate) on Jul 12, 2001 at 20:28 UTC |