Perl-스칼라
스칼라는 단일 데이터 단위입니다. 해당 데이터는 정수, 부동 소수점, 문자, 문자열, 단락 또는 전체 웹 페이지 일 수 있습니다.
다음은 스칼라 변수를 사용하는 간단한 예입니다.
#!/usr/bin/perl
$age = 25; # An integer assignment
$name = "John Paul"; # A string
$salary = 1445.50; # A floating point
print "Age = $age\n";
print "Name = $name\n";
print "Salary = $salary\n";
이것은 다음 결과를 생성합니다-
Age = 25
Name = John Paul
Salary = 1445.5
숫자 형 스칼라
스칼라는 대부분 숫자 또는 문자열입니다. 다음 예제는 다양한 유형의 숫자 형 스칼라 사용을 보여줍니다.
#!/usr/bin/perl
$integer = 200;
$negative = -300;
$floating = 200.340;
$bigfloat = -1.2E-23;
# 377 octal, same as 255 decimal
$octal = 0377;
# FF hex, also 255 decimal
$hexa = 0xff;
print "integer = $integer\n";
print "negative = $negative\n";
print "floating = $floating\n";
print "bigfloat = $bigfloat\n";
print "octal = $octal\n";
print "hexa = $hexa\n";
이것은 다음 결과를 생성합니다-
integer = 200
negative = -300
floating = 200.34
bigfloat = -1.2e-23
octal = 255
hexa = 255
문자열 스칼라
다음 예제는 다양한 유형의 문자열 스칼라 사용을 보여줍니다. 작은 따옴표로 묶인 문자열과 큰 따옴표로 묶은 문자열의 차이점을 확인하세요.
#!/usr/bin/perl
$var = "This is string scalar!";
$quote = 'I m inside single quote - $var';
$double = "This is inside single quote - $var";
$escape = "This example of escape -\tHello, World!";
print "var = $var\n";
print "quote = $quote\n";
print "double = $double\n";
print "escape = $escape\n";
이것은 다음 결과를 생성합니다-
var = This is string scalar!
quote = I m inside single quote - $var
double = This is inside single quote - This is string scalar!
escape = This example of escape - Hello, World
스칼라 연산
Perl에서 사용할 수있는 다양한 연산자에 대한 자세한 내용은 별도의 장에서 볼 수 있지만 여기에서는 몇 가지 숫자 및 문자열 연산을 나열합니다.
#!/usr/bin/perl
$str = "hello" . "world"; # Concatenates strings.
$num = 5 + 10; # adds two numbers.
$mul = 4 * 5; # multiplies two numbers.
$mix = $str . $num; # concatenates string and number.
print "str = $str\n";
print "num = $num\n";
print "mul = $mul\n";
print "mix = $mix\n";
이것은 다음 결과를 생성합니다-
str = helloworld
num = 15
mul = 20
mix = helloworld15
여러 줄 문자열
프로그램에 여러 줄 문자열을 도입하려면 다음과 같이 표준 작은 따옴표를 사용할 수 있습니다.
#!/usr/bin/perl
$string = 'This is
a multiline
string';
print "$string\n";
이것은 다음 결과를 생성합니다-
This is
a multiline
string
"여기"문서 구문을 사용하여 아래와 같이 여러 줄을 저장하거나 인쇄 할 수 있습니다.
#!/usr/bin/perl
print <<EOF;
This is
a multiline
string
EOF
이것은 또한 동일한 결과를 생성합니다-
This is
a multiline
string
V- 스트링
v1.20.300.4000 형식의 리터럴은 지정된 서수를 가진 문자로 구성된 문자열로 구문 분석됩니다. 이 형식을 v- 문자열이라고합니다.
v- 문자열은 다소 읽기 어려운 보간 형식 "\ x {1} \ x {14} \ x {12c} \ x {fa0}"를 사용하는 대신 문자열을 구성하는 대안적이고 읽기 쉬운 방법을 제공합니다.
av로 시작하고 그 뒤에 하나 이상의 점으로 구분 된 요소가 오는 리터럴입니다. 예를 들면-
#!/usr/bin/perl
$smile = v9786;
$foo = v102.111.111;
$martin = v77.97.114.116.105.110;
print "smile = $smile\n";
print "foo = $foo\n";
print "martin = $martin\n";
이것은 또한 동일한 결과를 생성합니다-
smile = ☺
foo = foo
martin = Martin
Wide character in print at main.pl line 7.
특수 리터럴
지금까지 문자열 스칼라와 그 연결 및 보간 연산에 대해 알고 있어야합니다. 따라서 세 가지 특수 리터럴 __FILE__, __LINE__ 및 __PACKAGE__는 프로그램의 해당 지점에서 현재 파일 이름, 줄 번호 및 패키지 이름을 나타냅니다.
별도의 토큰으로 만 사용할 수 있으며 문자열로 보간되지 않습니다. 아래 예를 확인하십시오-
#!/usr/bin/perl
print "File name ". __FILE__ . "\n";
print "Line Number " . __LINE__ ."\n";
print "Package " . __PACKAGE__ ."\n";
# they can not be interpolated
print "__FILE__ __LINE__ __PACKAGE__\n";
이것은 다음 결과를 생성합니다-
File name hello.pl
Line Number 4
Package main
__FILE__ __LINE__ __PACKAGE__