- 921. Minimum Add to Make Parentheses Valid 使括号有效的最少添加
- 915. Partition Array into Disjoint Intervals 分割数组
- 932. Beautiful Array 漂亮数组
- 940. Distinct Subsequences II 不同的子序列 II
Perl 是一种解释性的脚本语言,是一种弱类型语言,所以变量不需要指定类型。
Perl 解释器会根据上下文自动选择匹配类型。
Perl 有三个基本的数据类型:标量、数组、哈希表。
类型 | 描述 |
---|---|
标量标量 | 是Perl语言中最简单的一种数据类型。 这种数据类型的变量可以是数字,字符串,浮点数,不作严格的区分。 在使用时在变量的名字前面加上一个 `$` ,表示是标量 例如: `$` myfirst=123; #数字123 `$` mysecond="123"; #字符串123 |
数组 | 数组变量以字符 @ 开头,索引从 0 开始 如:@arr=(1,2,3)@arr=(1,2,3) |
哈希表 | 哈希表是一个无序的 key/value 对集合。可以使用键作为下标获取值。 哈希变量以字符 % 开头。 %h=('a'=>1,'b'=>2); |
Perl 把整形当做浮点数来看待,因为它把整数存在浮点寄存器中
在现代的计算机中,浮点寄存器可以存贮约 16 位数字,长于此的被丢弃。
整形是浮点数的特例
整型变量及运算:
$num = 520;
if ( 1314 + 520 == 1834 ) {
# 执行代码语句块
}
8进制和 16 进制数:8进制以 0 开始,16进制以 &&0x**开始
$num1 = 047; # 等于十进制的 39
$num2 = 0x1f; # 等于十进制的 31
浮点数 像:11.4 、 -0.3 、.3 、 3. 、 54.1e+02 、 5.41e03。
在计算机中,浮点数存储在 浮点寄存器中。
浮点寄存器通常不能精确地存贮浮点数,从而产生误差,在运算和比较中要特别注意。
指数的范围通常为 -309 到 +308
#!/usr/bin/perl
=pod
file: mail.pl
author: DDKK.COM 弟弟快看,程序员编程资料站(www.ddkk.com)
Copyright © 2015-2065 www.ddkk.com. All rights reserved.
=cut
$num = 9.01e+21 + 0.01 - 9.01e+21;
print ("第一个值为:", $num, "\n");
$num = 9.01e+21 - 9.01e+21 + 0.01;
print ("第二个值为:", $num, "\n");
运行以上范例,输出结果为:
$ perl main.pl
第一个值为:0
第二个值为:0.01
Perl 中的字符串使用一个标量来表示
Perl 双引号和单引号的区别:
双引号可以正常解析一些转义字符与变量,而单引号无法解析会原样输出
用单引号可以定义多行文本,如下所示:
#!/usr/bin/perl
=pod
file: mail.pl
author: DDKK.COM 弟弟快看,程序员编程资料站(www.ddkk.com)
Copyright © 2015-2065 www.ddkk.com. All rights reserved.
=cut
$str1='这是一个使用
多行字符串文本
的例子';
print($str1);
运行以上范例,输出结果为:
$ perl main.pl
这是一个使用
多行字符串文本
的例子
转义字符 | 含义 |
---|---|
\\ | 反斜线 |
\' | 单引号 |
\" | 双引号 |
\a | 系统响铃 |
\b | 退格 |
\f | 换页符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\0nn | 创建八进制格式的数字 |
\xnn | 创建十六进制格式的数字 |
\cX | 控制字符,x可以是任何字符 |
\u | 强制下一个字符为大写 |
\l | 强制下一个字符为小写 |
\U | 强制将所有字符转换为大写 |
\L | 强制将所有的字符转换为小写 |
\Q | 将到\E为止的非单词(non-word)字符加上反斜线 |
\E | 结束\L、\U、\Q |
#!/usr/bin/perl
=pod
file: mail.pl
author: DDKK.COM 弟弟快看,程序员编程资料站(www.ddkk.com)
Copyright © 2015-2065 www.ddkk.com. All rights reserved.
=cut
# 换行 \n 位于双引号内,有效
$str = "welcome to \nwww.ddkk.com";
print "$str\n";
# 换行 \n 位于单引号内,无效
$str = 'welcome to \nwww.ddkk.com';
print "$str\n";
# 只有 W 会转换为大写
$str = "\uwelcome to www.ddkk.com";
print "$str\n";
# 所有的字母都会转换为大写
$str = "\Uwelcome to www.ddkk.com";
print "$str\n";
# 指定部分会转换为大写
$str = "Welcome to \Uwww.ddkk\E.cn!";
print "$str\n";
# 将到\E为止的非单词(non-word)字符加上反斜线
$str = "\QWelcome to www.ddkk.com's family";
print "$str\n";
以上范例执行输出结果为:
$ perl main.pl
welcome to
www.ddkk.com
welcome to \nwww.ddkk.com
Welcome to www.ddkk.com
WELCOME TO WWW.TWLE.CN
Welcome to WWW.TWLE.cn!
Welcome\ to\ www\.ddkk\.cn\'s\ family
初学者 android 问题。好的,我已经成功写入文件。例如。 //获取文件名 String filename = getResources().getString(R.string.filename
我已经将相同的图像保存到/data/data/mypackage/img/中,现在我想显示这个全屏,我曾尝试使用 ACTION_VIEW 来显示 android 标准程序,但它不是从/data/dat
我正在使用Xcode 9,Swift 4。 我正在尝试使用以下代码从URL在ImageView中显示图像: func getImageFromUrl(sourceUrl: String) -> UII
我的 Ubuntu 安装 genymotion 有问题。主要是我无法调试我的数据库,因为通过 eclipse 中的 DBMS 和 shell 中的 adb 我无法查看/data/文件夹的内容。没有显示
我正在尝试用 PHP 发布一些 JSON 数据。但是出了点问题。 这是我的 html -- {% for x in sets %}
我观察到两种方法的结果不同。为什么是这样?我知道 lm 上发生了什么,但无法弄清楚 tslm 上发生了什么。 > library(forecast) > set.seed(2) > tts lm(t
我不确定为什么会这样!我有一个由 spring data elasticsearch 和 spring data jpa 使用的类,但是当我尝试运行我的应用程序时出现错误。 Error creatin
在 this vega 图表,如果我下载并转换 flare-dependencies.json使用以下 jq 到 csv命令, jq -r '(map(keys) | add | unique) as
我正在提交一个项目,我必须在其中创建一个带有表的 mysql 数据库。一切都在我这边进行,所以我只想检查如何将我所有的压缩文件发送给使用不同计算机的人。基本上,我如何为另一台计算机创建我的数据库文件,
我有一个应用程序可以将文本文件写入内部存储。我想仔细看看我的电脑。 我运行了 Toast.makeText 来显示路径,它说:/数据/数据/我的包 但是当我转到 Android Studio 的 An
我喜欢使用 Genymotion 模拟器以如此出色的速度加载 Android。它有非常好的速度,但仍然有一些不稳定的性能。 如何从 Eclipse 中的文件资源管理器访问 Genymotion 模拟器
我需要更改 Silverlight 中文本框的格式。数据通过 MVVM 绑定(bind)。 例如,有一个 int 属性,我将 1 添加到 setter 中的值并调用 OnPropertyChanged
我想向 Youtube Data API 提出请求,但我不需要访问任何用户信息。我只想浏览公共(public)视频并根据搜索词显示视频。 我可以在未经授权的情况下这样做吗? 最佳答案 YouTube
我已经设置了一个 Twilio 应用程序,我想向人们发送更新,但我不想回复单个文本。我只是想让他们在有问题时打电话。我一切正常,但我想在发送文本时显示传入文本,以确保我不会错过任何问题。我正在使用 p
我有一个带有表单的网站(目前它是纯 HTML,但我们正在切换到 JQuery)。流程是这样的: 接受用户的输入 --- 5 个整数 通过 REST 调用网络服务 在服务器端运行一些计算...并生成一个
假设我们有一个名为 configuration.js 的文件,当我们查看内部时,我们会看到: 'use strict'; var profile = { "project": "%Projec
这部分是对 Previous Question 的扩展我的: 我现在可以从我的 CI Controller 成功返回 JSON 数据,它返回: {"results":[{"id":"1","Sourc
有什么有效的方法可以删除 ios 中 CBL 的所有文档存储?我对此有疑问,或者,如果有人知道如何从本质上使该应用程序像刚刚安装一样,那也会非常有帮助。我们正在努力确保我们的注销实际上将应用程序设置为
我有一个 Rails 应用程序,它与其他 Rails 应用程序通信以进行数据插入。我使用 jQuery $.post 方法进行数据插入。对于插入,我的其他 Rails 应用程序显示 200 OK。但在
我正在为服务于发布请求的 API 调用运行单元测试。我正在传递请求正文,并且必须将响应作为帐户数据返回。但我只收到断言错误 注意:数据是从 Azure 中获取的 spec.js const accou
我是一名优秀的程序员,十分优秀!