Re: Proposal: chop() dropped

2000-09-01 Thread Tom Christiansen
I already proposed that. Benchmarks show that reading a file with explicit chomp() is easily 20% slower than reading the same file with implicit chomp(), through the -l command line switch. And what, pray tell, do you do about the small matter of wanting to read some files without implicit

Re: Proposal: chop() dropped

2000-08-31 Thread Nathan Torkington
Eric Roode writes: Useful functions all, no doubt. But I would lobby heavily for a new set of names -- ones that can be remembered! Quick -- which trims leading spaces, champ, chump, or chimp? My favourite: chafe(). Nat

Re: Proposal: chop() dropped

2000-08-31 Thread Dan Zetterstrom
On Thu, 31 Aug 2000 19:59:31 +0200, you wrotc: tr/\w//dlt # Trim all leading trailing whitespace from $_ Eh, scratch that. Too much caffeine i guess. tr/\n\r\t //dlt; # Trim some whitespace. -DZ -- Tell me your dreams and I will crush them.

Re: Proposal: chop() dropped

2000-08-31 Thread Jonathan Scott Duff
On Thu, Aug 31, 2000 at 07:59:31PM +0200, Dan Zetterstrom wrote: Why not use the "function" we already got, tr? Something like: tr///l # Translate only _l_eading characters matching. tr///t # Translate only _t_railing characters matching. With "Only leading" I mean translate

Re: Proposal: chop() dropped

2000-08-31 Thread Tom Christiansen
tr///l # Translate only _l_eading characters matching. tr///t # Translate only _t_railing characters matching. With "Only leading" I mean translate from start/end until you find a character not matching. Then you can do nifty things such as: tr/\w//dlt # Trim all leading trailing

Re: Proposal: chop() dropped

2000-08-31 Thread Tom Christiansen
How would you do: # Writer insists on blank line between paragraphs, first line indented. # Publisher insists on one paragraph/line, first word ALL CAPS. Step 1: Fire the lame publisher. I'm serious. It's amazing what people tolerate. Some things aren't worth the pane. { local $/ = "";

Re: Proposal: chop() dropped

2000-08-31 Thread Eric Roode
TomC wrote: In general, getting folks to write s/^\s+//s; s/\s+$//s; # XXX: \z is a *good* think. Why? Removing leading/trailing whitespace is a tremendously frequently- performed task. Perl gives you -l on the command line to strip newlines on input and add them on output, simply

Re: Proposal: chop() dropped

2000-08-31 Thread Bart Lateur
On Thu, 31 Aug 2000 13:36:10 -0600, Tom Christiansen wrote: I'm not arguing in favor of the tr/// hack specifically, but gosh, wouldn't it be nice if there were a thwack() builtin that stripped leading and trailing spaces? No. People should learn intrinsic mechanisms with which they can

Proposal: chop() dropped

2000-08-30 Thread Nathan Torkington
chomp() is best used for chop()s main raison d'etre, removing $/ from a string. I say we drop chop(). Nat

Re: Proposal: chop() dropped

2000-08-30 Thread Jonathan Scott Duff
On Wed, Aug 30, 2000 at 02:31:00PM -0600, Nathan Torkington wrote: chomp() is best used for chop()s main raison d'etre, removing $/ from a string. I say we drop chop(). I'll second that motion. We already have lots of ways of removing the last character of a string if that's what we really

Re: Proposal: chop() dropped

2000-08-30 Thread Tom Christiansen
chomp() is best used for chop()s main raison d'etre, removing $/ from a string. I say we drop chop(). So code that says chop($k,$v) will need to say for ($k,$v) { s/.\z//s } or else something like: for ($k, $v) { substr($_, length() - 1) = '' } I'm not sure I find either of

Re: Proposal: chop() dropped

2000-08-30 Thread Tom Christiansen
the reason that they're duplicatable with other features, while I want to drop chop because its main purpose has now been replaced with the far superior chomp. Except that chomp() relies upon the ueberglobal $/ variable, irrespective of the source of the data being chomped. --tom

Re: Proposal: chop() dropped

2000-08-30 Thread Nathan Torkington
Tom Christiansen writes: So code that says chop($k,$v) will need to say for ($k,$v) { s/.\z//s } or else something like: for ($k, $v) { substr($_, length() - 1) = '' } I don't think chop() is an operation that's done often enough for either of the things above to be

Re: Proposal: chop() dropped

2000-08-30 Thread Peter Scott
At 04:36 PM 8/30/00 -0600, Tom Christiansen wrote: the reason that they're duplicatable with other features, while I want to drop chop because its main purpose has now been replaced with the far superior chomp. Except that chomp() relies upon the ueberglobal $/ variable, irrespective of the

Re: Proposal: chop() dropped

2000-08-30 Thread Bart Lateur
On Wed, 30 Aug 2000 16:14:35 -0600, Tom Christiansen wrote: I say we drop chop(). So code that says chop($k,$v) will need to say for ($k,$v) { s/.\z//s } or else something like: for ($k, $v) { substr($_, length() - 1) = '' } I'm not sure I find either of those more legible.

Re: Proposal: chop() dropped

2000-08-30 Thread Tom Christiansen
I would actualy like to see chop expanded to allow a variable number of characters to be removed and a sister function to cut the head off. Yes I know you can do this with substr but sometimes when you want the performance and need to cut up a string into fields. Lets say the new function is

Re: Proposal: chop() dropped

2000-08-30 Thread skud
On Wed, Aug 30, 2000 at 02:31:00PM -0600, Nathan Torkington wrote: chomp() is best used for chop()s main raison d'etre, removing $/ from a string. I say we drop chop(). Works for me. Are you going to RFC it? K. -- Kirrily Robert -- [EMAIL PROTECTED] -- http://netizen.com.au/ Open Source

Re: Proposal: chop() dropped

2000-08-30 Thread Nathan Wiger
Tom Christiansen wrote: I'll second that motion. We already have lots of ways of removing the last character of a string if that's what we really need. But they're slow and hard to read. I think the word "drop" should be clarified as "dropped from the core binary". In a very cool email,