我正在构建一组数组哈希
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'},
]
},
);
Run Code Online (Sandbox Code Playgroud)
有没有办法只在条件满了时才添加第二个内部哈希?像这样的东西:
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'} if 1==1,
]
},
);
Run Code Online (Sandbox Code Playgroud)
我尝试使用push重写代码:
my @innerarray = ();
push @innerarray, {label => 'first inner hash'};
push @innerarray, {label => 'second inner hash'} if …Run Code Online (Sandbox Code Playgroud) 是否有可能tr在HTML表格中的两行()之间有一个可视分隔符.
我尝试过<br>但这不是有效的代码.
我尝试tr在休息后添加填充顶部,但它不起作用.
目前我使用空行:
<tr><td colspan=\"X\"> </td></tr>
Run Code Online (Sandbox Code Playgroud)
但我不认为这是最好的解决方案,特别是因为我必须确保colspan如果有变化就调整列数.
有什么方法可以解决这个问题吗?
我正在寻找同时匹配两个值的最佳方法.
我想获得一个真正的价值,如果这两个值是一个字符串,但我不知道他们会以什么顺序字符串中(例如,abcdef或bedfa在情况下,我想匹配a和b)
是否有更好的解决方案(特别是如果以后我需要更复杂的值来匹配),而不是:
$string =~ m/(a.*b)|(b.*a)/i
Run Code Online (Sandbox Code Playgroud) 我uninitialized value in string eq at *** line xxx在我的代码中收到一个警告,如果确实存在eq该行,那将很容易解决.
但是hashref中的值有一个正则表达式匹配.
if ($hashref->{parameters}->{type} =~ m/:/) {
Run Code Online (Sandbox Code Playgroud)
在此之前的一些行我甚至有这个:
$hashref->{parameters} = defined($hashref->{parameters}) ? $hashref->{parameters} : '';
$hashref->{parameters}->{type} = defined($hashref->{parameters}->{type}) ? $hashref->{parameters}->{type} : '';
Run Code Online (Sandbox Code Playgroud)
所以该值至少应该初始化.
我问自己和你:为什么我仍然得到关于价值未初始化的警告,而且为什么它会说eq而不是pattern match
编辑:
该parameters苏巴斯包含通过URL输入(后和/或获取)中给出的所有variabels.该type值是那些变量之一可能是在URL中.如果type值是否在url 中并不重要,如果它包含值,我总是会收到uninitialized value in string eq警告.即使我通过在有缺陷的线之前警告它来控制线的类型值.
2.编辑:
正如@ikegami认为确实有一个elsif引起警告
整个if - elsif语句看起来有点像:
if ($hashref->{parameters}->{type} =~ m/:/) {
…
elsif ($hashref->{parameters}->{type} eq $somevalue) {
…
}
Run Code Online (Sandbox Code Playgroud)
,这是$somevalue这是未初始化.
我正在尝试在表单提交上创建一个JSON对象以传递给Perl.我有几个嵌套的divs和uls li允许jQuery-ui可排序的排序.
为了能够保存已排序的lis(遍布几个divs),我编写了以下代码:
jQuery("form[name='editorview']").submit(function(event) {
event.preventDefault();
var values = '{ ';
jQuery(this).find(".div_abcd").each(function(){
values += '"'+this.id+'": [';
jQuery(this).find("div[id^='CONT']").each(function(){
values += '{"'+this.id+'": [';
jQuery(this).find("li").each(function(){
if (jQuery(this).not("class='placeholder'")){
values += '"'+this.id+'",';
} else {
values +='"placeholder",';
}
});
values = values.slice(0, -1); //removing trailing ,
values +=']},';
});
values = values.slice(0, -1); //removing trailing ,
values += '],';
});
values = values.slice(0, -1); //removing trailing ,
values += '}';
jQuery("#order").val(values);
document.editorview.submit();
});
Run Code Online (Sandbox Code Playgroud)
div班级最多4 秒, …
我正在调试一段代码,它使用Perl'-s'函数来获取某些文件的大小.
my $File1 = /myfolder/.../mysubfolder1/document.pdf
my $File2 = /myfolder/.../mysubfolder2/document.pdf
my $File3 = /myfolder/.../mysubfolder1/document2.pdf($File3实际上是/myfolder/.../mysubfolder2/document.pdfaka 的链接$File2)
有缺陷的代码是:
my $size = int((-s $File)/1024);
哪里$File被替换为$File1- $File3.
由于某些原因,我无法解释这不适用于每个文件.
为了$File1和$File3它的作品,但不适合$File2.我能理解,如果都$File2并$File3不会工作,这将意味着该文件/myfolder/.../mysubfolder2/document.pdf是某种损坏.我甚至在确定文件存在if (-e $File)|{之前添加了一个测试-s,但这三个文件确实存在.
还有一个更奇怪的事情:有一个.htaccess在/myfolder/.../mysubfolder1/,但没有.htaccess在/myfolder/.../mysubfolder2/.如果它是反向的,我会认为.htaccess会-s以某种方式阻止呼叫.
有什么想法吗?
perl ×4
regex ×2
arrays ×1
file ×1
html ×1
html-table ×1
if-statement ×1
jquery ×1
mod-perl ×1