JQuery
Dec 25
个人感觉perl获取文件名最方便的方法Basename 模块的使用方法
how-to-get-perl-file-name-quick
问题:如何将一个文件的所在路径,文件名称,文件后缀区分开?比如 abc.pl 如何单独获取abc 和 pl 呢
方案:使用perl - File:Basename 模块
说明:在perl脚本中,使用use File::Basename模块后,可以调用三种常用的函数:fileparse, basename, dirname.
1. fileparse: 输入参数全路径名称和后缀列表;返回三个值:文件名,路径,后缀,并存放在列表中。
2. basename: 输入参数全路径名称和后缀列表; 返回文件名
3. dirname: 输入参数全路径名称; 返回文件路径
示例:
#! /usr/bin/perl

use strict;
use warnings;
use File::Basename;

my $fullname='/home/perl/perl_basename.pl';
my @suffixlist=qw(.pl .txt .sv .v);
my ($name, $path, $suffix)=fileparse($fullname, @suffixlist);

print "name=$name\n";
print "path=$path\n";
print "suffix=$suffix\n";

$name=fileparse($fullname, @suffixlist);
print "name=$name\n";

my $Basename=basename($fullname, @suffixlist);
print "Basename=$Basename\n";

my $dirname = dirname($fullname);
print "dirname=$dirname\n";
执行上述脚本,得到下面的结果:

name=perl_basename
path=/home/perl/
suffix=.pl
name=perl_basename
Basename=perl_basename
dirname=/home/qilzhao
from:https://www.cnblogs.com/qixinsoc365/p/4346710.html
Tags:
Dec 25
Perl: 同时在屏幕和文件打印输出的3种实现方式
第一种方式:Perl 代码实现:
#!/usr/bin/perl
 
use strict;
use warnings;
use diagnostics;
 
open(LOG, '>', 'LOG_FILE') or die "Can't redirect stdout: $!";
open(CMD, 'ls |');
open(STDERR, '>&', STDOUT) or die "Can't redirect stderr: $!";
open(STDERR, '>', 'LOG_FILE') or die "Can't redirect stderr: $!";
print "LOG_FILE\n";
while (<CMD>) {
    &lprint ($_)
}
 
sub lprint {
      my ($line) = @_;
      print LOG $line;  
      print $line;
}
 
close(CMD) or die "close CMD failed: $!";
 
exit(1);

第二种方式:利用Perl的Tee模块:
#!/usr/bin/perl
use IO::Tee; 
$tee = IO::Tee->new(">> log.txt", \*STDOUT); 
print $tee "Log on ".scalar(localtime)."\n";

或者
#!/usr/bin/perl
open (STDOUT, "| tee -ai log.txt");
print "Log on ".scalar(localtime)."\n";
close (STDOUT);

这个方式最方便 tee -ai log.txt 且默认不用额外安装其他插件
how-perl-log-on-screen-and-file
---end
Tags:
Jun 17

解决jquery中的return false不起作用的原因,jquery ajax 老是返回false的原因
why jquery ajax alway return false ?
在代码中使用ajax调用后台,但是不管后台的结果是如何,老是返回false ,很是纳闷,分析如下
function add_check(){
 var Parent_Unique_ID  = $.trim($("#Parent_Unique_ID").val());
 var checkparentsku = ajaxCheckParentSku(Parent_Unique_ID);
 alert(checkparentsku);//这边老是弹出false ,不知道为什么
 if(checkparentsku == false){
  return false;
 }
  //ajax check parentsku end
}

function ajaxCheckParentSku(Parent_Unique_ID){
 var result = false;
 if(Parent_Unique_ID ==""){
  alert("Parent_Unique_ID 不能为空");
 }else{
  var request =$.ajax({
   type:'POST',
   url: "__ROOT__/admin.php?m=product&a=ajaxCheckParentSku",
   data:{Parent_Unique_ID:Parent_Unique_ID}//,
   //dataType:'JSON'
   //timeout:60000,
  });
  request.done(function(msg){
   //alert(msg);
   if(msg.productExist =="1"){
    alert("Parent_Unique_ID值" + Parent_Unique_ID + "已存在请重新输入");
    return false; //为什么
   }else{
    return true;//为什么不管用呢?
   }
  });
  request.fail(function(jqXHR,textStatus){
   alert(textStatus);
   returnfalse;
  });
 }
}
原因分析:
逻辑没弄清楚,要将ajax设置为同步的,需要使用$.ajax,$.get默认是异步的,并且不是在回调函数内return,而是在ajaxCheckParentSku函数中声明一个变量来接受回调函数的返回值,然后ajaxCheckParentSku返回这个值。

function ajaxCheckParentSku(Parent_Unique_ID){
 var result = false;
 if(Parent_Unique_ID ==""){
  alert("Parent_Unique_ID 不能为空");
  result = false;
 }else{
  var request =$.ajax({
   async:false,//要设置为同步的,要不返回值永远为false
   type:'POST',
   url: "__ROOT__/admin.php?m=product&a=ajaxCheckParentSku",
   data:{Parent_Unique_ID:Parent_Unique_ID}//,
   //dataType:'JSON'
   //timeout:60000,
  });
  request.done(function(msg){
   //alert(msg);
   if(msg.productExist =="1"){
    alert("Parent_Unique_ID值" + Parent_Unique_ID + "已存在请重新输入");
    result=false; //为什么
   }else{
    result=true;//管用?
   }
  });
  request.fail(function(jqXHR,textStatus){
   alert(textStatus);
   result=false;
  });
 }
 return result;////==========这里才是ajaxCheckParentSku的返回值,回调函数返回值没有意义
}

说明
async: false,(默认是true);
如上:false为同步,这个 ajaxCheckParentSku()方法中的Ajax请求将整个浏览器锁死,只有add.php执行结束后,才可以执行其它操作
当async: true 时,ajax请求是异步的。
但是其中有个问题 ajaxCheckParentSku()中的ajax请求和其后面的操作是异步执行的,那么当add.php还未执行完,
就可能已经执行了 ajax请求后面的操作,如alert(msg); 然而,temp这个数据是在ajax请求success后才赋值的,结果,输出时会为空。

由于ajax默认为异步调用,所以很少能直接拿到ajax的返回值。但有时候由于业务需要还必须要通过ajax来拿,那么我这里提供两种方案。具体方法:
1、就像通过设置async:false让其异步变同步;
2、可以将接下来需要使用到的参数在success之内执行
3、在方法前设置变量result 再后面赋值
这两种方案,你根据你项目的具体实际选择一个。
使用第一种相对来讲,假如你对性能要求不是太大可以选择。

why jquery ajax alway return false ?

Tags: ,
Jun 4
jquery获取不到动态生成的checkbox的可能原因分析?导致无法对动态生成的checkbox 设置值
1、一般情况下是在动态生成之后设置值,一般在加载页面的时候可以配置  $(document).ready(function(){})下了
2、ajax的情况下
 这页面已经加载完成了,使用ajax动态加载的对象当然调不到
 设置代码要放在post里面,你这个代码是post还没运行完,下面遍历的就已经运行了。或者你设置为异步
比如:
 var sizeUniqueStr = '<{$product.Size}>' ;
 var sizeUniqueArr = sizeUniqueStr.split(",");//add by itlife365.com qq:305347185
   $.post("__ROOT__/admin.php?m=product&a=productsizelist",{'type':selectValue},function(result){
    $('#goodsSize').empty();////add by itlife365.com qq:305347185
    $.each(result, function (n, value) { 
    //alert(value.typevalue + ' ' + "value"); 
    if(iseditstatus =="1"){//jQuery 判断是否包含在数组中,如果不包含在数组中,则返回 -1;从0开始
   var selectValue = $.inArray(escape(value.typevalue),sizeUniqueArr);
   if(selectValue != -1){////add by itlife365.com qq:305347185
    $('#goodsSize').append("<div class='col-xs-2 h50'><label class='col-xs-12'><input type='checkbox' name='size_checkbox' value='"+value.typevalue+"' checked='checked'><span >"+value.typevalue+"</span></label></div>");
   }else{
    $('#goodsSize').append("<div class='col-xs-2 h50'><label class='col-xs-12'><input type='checkbox' name='size_checkbox' value='"+value.typevalue+"' ><span >"+value.typevalue+"</span></label></div>");
   }
    }else{
   $('#goodsSize').append("<div class='col-xs-2 h50'><label class='col-xs-12'><input type='checkbox' name='size_checkbox' value='"+value.typevalue+"'><span >"+value.typevalue+"</span></label></div>");
    }
   }); 
   },'json');


---jquery checkbox ajax
how-to-set-checkbox-value-when-ajax-by-jquery
Tags: , ,
Jan 2

windows下安装dmake

How to install dmake
    1、Download and install ActivePerl
    2、Open Command Prompt
    3、Type ppm install dmake
   tips:如何运行ppm install dmake 异常,可以参考文章http://itlife365.com/blog/post/os-windowxp-dos-http_proxy.php 设置http_proxy代理进行联网下载

Tags: ,
分页: 1/11 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]