### Answer: How do I pull n characters off the front of a string?

by davido (Archbishop)
 on Oct 03, 2003 at 01:31 UTC Need Help??

Q&A > strings > How do I pull n characters off the front of a string? - Answer contributed by davido

The other examples all handed off the first \$n characters. But they didn't remove those first \$n characters from the original \$string, as the question required.

As always, there is more than one way to do it. For each of the examples below, assume the following setup:

```my \$string = "1234567890abcdefghijABCDEFGHIJK";
my \$chars;
my \$n = 2;

With substr:

```\$chars = substr( \$string, 0, \$n );
substr( \$string, 0, \$n ) = "";

Another with substr:

```( \$chars, \$string ) = ( substr(\$string,0,\$n), substr(\$string,\$n) );

And probaby the best substr solution:

```\$chars = substr (\$string, 0, \$n, "");

With a substitution s/// regexp:

```\$string = s/^(.{\$n})(.*)\$/\$2/s;
\$chars = \$1;

With split:

```(\$chars, \$string) = split /^(.{\$n})/, \$string, 1;

With a pattern match (m//):

```(\$chars, \$string) = \$string =~ /^(.{\$n})(.*)\$/s;

With unpack (Not for the faint of heart):

```( \$chars, \$string ) = unpack "a\$n a@{[length(\$string)-\$n]}", \$string;

Replies are listed 'Best First'.
Re: Answer: How do I pull n characters off the front of a string?
by Aristotle (Chancellor) on Oct 03, 2003 at 22:31 UTC
unpack:
```(\$chars, \$string) = unpack "a\$n a*", \$string;
The four parameter substr is clearly the cleanest solution though.

Makeshifts last the longest.

Create A New User
Chatterbox?
 [stevieb]: my RPi::WiringPi now fully supports: GPIO, LCDs, digital potentiometers, analog to digital converters, shift registers, barometric pressure sensor, direct access to SPI bus, and ability for more :) [stevieb]: ...just need to perform many tests and POD review this week, then I'm going to put together some real projects and post about them

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (5)
As of 2017-01-22 22:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Do you watch meteor showers?

Results (190 votes). Check out past polls.