in reply to Chop command that removes the first character

I have one in my utils library called chip which seems appropriate.

sub chip{ substr $_[ 0 ], 0, 1, '' } my $s = 'the quick brown fox jumps over the lazy dog'; print chip( $s ), ' : ', $s while $s; t : he quick brown fox jumps over the lazy dog h : e quick brown fox jumps over the lazy dog e : quick brown fox jumps over the lazy dog : quick brown fox jumps over the lazy dog q : uick brown fox jumps over the lazy dog u : ick brown fox jumps over the lazy dog i : ck brown fox jumps over the lazy dog c : k brown fox jumps over the lazy dog k : brown fox jumps over the lazy dog : brown fox jumps over the lazy dog b : rown fox jumps over the lazy dog r : own fox jumps over the lazy dog o : wn fox jumps over the lazy dog w : n fox jumps over the lazy dog n : fox jumps over the lazy dog : fox jumps over the lazy dog f : ox jumps over the lazy dog o : x jumps over the lazy dog x : jumps over the lazy dog : jumps over the lazy dog j : umps over the lazy dog u : mps over the lazy dog m : ps over the lazy dog p : s over the lazy dog s : over the lazy dog : over the lazy dog o : ver the lazy dog v : er the lazy dog e : r the lazy dog r : the lazy dog : the lazy dog t : he lazy dog h : e lazy dog e : lazy dog : lazy dog l : azy dog a : zy dog z : y dog y : dog : dog d : og o : g g :

Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail
"Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon

Replies are listed 'Best First'.
Re^2: Chop command that removes the first character
by tachyon (Chancellor) on Oct 26, 2004 at 10:08 UTC

    To complete the theme: sub chimp (@) { s!^$/+!! for @_ }

      Ooh! Ooh! Ooh! :)


      Examine what is said, not who speaks.
      "Efficiency is intelligent laziness." -David Dunham
      "Think for yourself!" - Abigail
      "Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon
      sub chimp (@) {s!^$/+!! for (@_ ? @_ : $_)}

        Now get that included in CORE, surely it belongs in the (development) tree.

      chomp() does not remove all trailing record separators, just one. The special case is paragraph mode where all trailing newlines are removed. When in fixed-length record mode ($/ = \$some_int) or slurp mode ($/ = undef) chomp() does nothing. All these special cases aren't handled by &chimp.

      Also, the return value isn't analoguous with chomp()'s.

      ihb

      See perltoc if you don't know which perldoc to read!