기능 chop() 에서는 Perl

에서는 Perl 프로그래밍 언어가 내장된 기능 chop(). 이 기능을 사용할 수 있습니다 작업을 할 때 문자열입니다. 가장 간단한 경우,함수 chop() 을 제거에서 마지막 문자변수 는 전달에서 인수 기능.

예를 들어 다음과 같습니다.

▶ Run
#!/usr/bin/perl

my $string = 'ASDF';

chop($string);

print "'$string'";

이 프로그램에 텍스트가 표시됩 'ASD'.

인수

는 경우 기능 chop 주어지지 아니 인수,함수 작품과 함께 기본 변수 $_:

▶ Run
#!/usr/bin/perl

$_ = 123;

chop();

print "'$_'";

이 경우에는 경우는 변수 $_undef 고 사용 use warnings;것,경고:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

chop();
Use of uninitialized value $_ in scalar chop at script.pl line 6.

기능 chop() 전달할 수 있습니다 스칼라,배열,해시입니다. 의 경우에 해시 의 기능과 함께 작동 값의 키 키를 자신이 변하지 않습니다.

이 인수의 함수 chop() 항상 변수입니다. 는 경우 을 전달하려고 이 함수 문자열을,그것은 오류로그램 실행 중지됩니다:

▶ Run
#!/usr/bin/perl

chop('ASDF'); # Error!
Can't modify constant item in chop at script.pl line 3, near "'ASDF')"
Execution of script.pl aborted due to compilation errors.

반환 값

기능 chop() 항상 문자열을 반환합니다. 그 중 하나를 수행 할 수 있습니다 빈 문자열 '',또는 문자열로,정확히 하나의 문자입니다.

의 예는 다음과 같은 상황을 때 chop() 빈 문자열을 반환합니다:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my $var = '';

warn Dumper chop($var);
warn Dumper $var;

의 예는 다음과 같은 자주 상황은 경우 chop() 문자열을 반환합니다 정확히 하나의 징이다. 이 기능을 하는 캐릭터에서 잘라 라인:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my $var = 'asdf';

warn Dumper chop($var);
warn Dumper $var;

이 프로그램이 표시됩니다:

$VAR1 = 'f';
$VAR1 = 'asd';

여기에 또 다른 예는 상황의 경우 chop() 하나를 반환합니다.

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my @arr = qw(abc def ghi);

warn Dumper chop(@arr);
warn Dumper \@arr;

출력 프로그램의:

$VAR1 = 'i';
$VAR1 = [
          'ab',
          'de',
          'gh'
        ];

기능 chop() 잘라 마지막 문자에서 모든 요소를 배열에 반환 하지만 문자만해졌다.

공식적인 문서

여기에 출력하는 명령의 perldoc -f chop:

       chop VARIABLE
       chop( LIST )
       chop    Chops off the last character of a string and returns the
               character chopped.  It is much more efficient than "s/.$//s"
               because it neither scans nor copies the string.  If VARIABLE is
               omitted, chops $_.  If VARIABLE is a hash, it chops the hash's
               values, but not its keys.

               You can actually chop anything that's an lvalue, including an
               assignment.

               If you chop a list, each element is chopped.  Only the value of
               the last "chop" is returned.

               Note that "chop" returns the last character.  To return all but
               the last character, use "substr($string, 0, -1)".

               See also "chomp".

관련 주제

다른 기사