Perl 中的标量,Perl 中的标量数据被认为是单数,它可以是数字或字符串。我们已经介绍了变量和数据类型教程中的标量。在本教程中,我们将讨论关于字符串的一些重要事项,我们会跳过数字,因为使用它们非常简单。
单引号字符串 vs 双引号字符串
引号不是字符串的一部分,它们只是指定字符串的开头和结尾。在 Perl 中,单引号和双引号的行为不同。要了解差异,让我们看看下面的代码:
#!/usr/bin/perl
print "Welcome to\t Beginnersbook.com\n";
print 'Welcome to\t Beginnersbook.com\n';
This would produce the following 输出:
Welcome to Beginnersbook.com
Welcome to\t Beginnersbook.com\n
您可以清楚地看到双引号内插转义序列\t
和\n
的区别,但是单引号没有。
另一个例子:
#!/usr/bin/perl
website = "Beginnersbook";
print "Website Name:website\n";
print 'Website Name: $website\n';
输出:
Website Name: Beginnersbook
Website Name: $website\n
这是双引号的另一个优点,因为它们是“可变插值”。这意味着双引号内的变量名称将替换为其值。单引号字符串中不会发生这种情况。
使用单引号
您可能正在考虑避免在 perl 程序中使用单引号,但在某些情况下您可能希望使用单引号。
例如如果要将电子邮件地址存储在变量中,那么双引号会引发错误,在这种情况下需要使用单引号。对于例如
$email = "xyz@gmail.com"; # would throw an error
$email = 'xyz@gmail.com'; # would work fine.
Perl 中的反斜杠
反斜杠可以执行以下两个任务之一:
1)它消除了跟随它的字符的特殊含义。对于例如打印\$myvar
会产生$myvar
输出而不是变量myvar
值,因为在$
之前的反斜杠(\
)消除了$
的特殊含义
2)它是反斜杠或转义序列的开始。对于例如\n
是用于换行的转义序列
反斜杠作用
相信我,你会在 perl 中开发应用时经常使用它。假设您要打印包含双引号的字符串。对于例如如果我想打印Hello This is "My blog"
然后我需要使用以下逻辑:
#!/usr/bin/perl
msg = "Hello This is \"My blog\"";
print "msg\n";
输出:
Hello This is "My blog"
字符串操作
级联:
您可以使用点(.
)运算符连接字符串。例如:
"Hello"."Chaitanya" # Equivalent to "HelloChaitanya"
"Hello"."Chaitanya"."\n" # Equivalent to "HelloChaitanya\n"
字符串重复
语法:MyString x MyNumber
这将通过MyNumber
次重复字符串"MyString"
。
这里x
应该是小写的。
例如:
"book" x 4 # Same as "bookbookbookbook"
"Tom" x (1+2) # Same as "Tom" x 3 or "TomTomTom"
"Wow" x 2.7 # Same as "Wow" x 2 or "WowWow"
在第三个例子中,2.7 被认为是 2,这里没有数字四舍五入。
注意: Perl 将
x
运算符之前的部分视为字符串,将x
之后的部分视为数字。换句话说,您可以说左操作数被视为字符串而右操作数被视为数字。
例如:
8 x 3 # Same as "8" x 3 or "888"
使用x
运算符时必须记住这一点,以避免混淆。8 x 3
不是 24 而是"888"
。