我只是想知道我是否能够打破我在Perl代码中使用的长正则表达式,以便将其写入多行?我只是希望任何可能在完成后查看我的代码的人都能保持可读性和紧凑性.我正在寻找与Perl中的几行分解字符串的方式类似的东西.例如:
print "This is a string that is ". #1st line
"very long, so it is on 2 lines!"; #2nd line
# prints = "This is a string that is very long, so it is on 2 lines!"
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用正则表达式执行此操作,因为它不使用引号.如果我按下回车,我猜它会在我的正则表达式中添加一个新行字符,使其成为错误.我想做一些事情:
if($variable_1 = /abcde_abcde_abdcae_adafdf_ #1st regex line
abscd_casdf_asdfd_....asdfaf/){ #regex continued
# do something
} # regex looking for pattern = abcde_abcde_abdcae_adafdf_abscd_casdf_asdfd_....asdfaf
Run Code Online (Sandbox Code Playgroud) 我正在看这篇文章: 当我在片段类中尝试确定设备屏幕的大小时,获取屏幕尺寸(以像素为单位).一个答案接近我需要的但是最终为我工作的唯一代码是:
WindowManager wm = (WindowManager) getView().getContext().getSystemService(Context.WINDOW_SERVICE);
Display screen = wm.getDefaultDisplay();
Run Code Online (Sandbox Code Playgroud)
然后我可以使用getHeight(); 或其他未弃用的术语.
这是一个简单的问题,但它让我难倒,谷歌只是让我误入歧途.我想要做的就是打印出哈希的名称.例如:
&my_sub(\%hash_named_bill);
&my_sub(\%hash_named_frank);
sub my_sub{
my $passed_in_hash = shift;
# do great stuff with the hash here
print "You just did great stuff with: ". (insert hash name here);
}
Run Code Online (Sandbox Code Playgroud)
我不知道的部分是如何在括号中插入东西(插入...).对于嵌套哈希,您只需使用"keys"标记来获取哈希名称(如果您想将其称为哈希名称).我无法弄清楚如何获得整个哈希名称,看起来它真的只是另一个关键.
我有一个数组,我正在尝试打印出来(用于获取SQL数据库信息):
my $variables_array = [[u1, answer1, Uvalue], ["v1", u2, v2, answer2, Vvalue]];
Run Code Online (Sandbox Code Playgroud)
当我打印出$variables_array所有变量,除了v2打印出我上面的格式.我搜索了google/SO,但v#在Perl中找不到任何特殊意义.我注意到记事本++改变了v#数组数组中的颜色,表明它是某种特殊变量,但我不知道它是什么?有人可以为我阐明一下,我很困惑.