小编sup*_*tar的帖子

如何检查Perl中是否存在文件?

我有一条相对的道路

   $base_path = "input/myMock.TGZ";
Run Code Online (Sandbox Code Playgroud)

myMock.TGZ是位于输入文件夹中的文件名.文件名可以更改.但路径始终存储在$base_path.

我需要检查文件是否存在$base_path.

perl

107
推荐指数
7
解决办法
27万
查看次数

如何在Perl中将数组用作对象属性?

我需要一些关于Perl中数组的帮助

这是我的构造函数.

BuildPacket.pm

     sub new {
            my $class = shift;    
            my $Packet = {
                _PacketName => shift,
                _Platform  => shift,
                _Version => shift,
                _IncludePath => [@_],
            };

            bless $Packet, $class;
            return $Packet;
        }

        sub SetPacketName {
            my ( $Packet, $PacketName ) = @_;
            $Packet->{_PacketName} = $PacketName if defined($PacketName);
            return $Packet->{_PacketName};
        }

       sub SetIncludePath {
            my ( $Packet, @IncludePath ) = @_;
            $Packet->{_IncludePath} = \@IncludePath;
        }

         sub GetPacketName {
            my( $Packet ) = @_;
            return $Packet->{_PacketName};
        }

        sub GetIncludePath {
           my( …
Run Code Online (Sandbox Code Playgroud)

arrays perl constructor

7
推荐指数
1
解决办法
8158
查看次数

功能超时用于大型列表(C#中的LINQ查询)

我使用以下查询

var queryList1Only = (from file in list1
                                  select file).Except(list2, myFileCompare);
Run Code Online (Sandbox Code Playgroud)

同时myFileCompare根据名称和长度比较2个文件.

如果list1和list2很小(在我测试时说100个文件),查询返回结果,然后我将list1增加到30,000个文件,list2增加到20,000个文件,查询现在说"Function Evaluation Timed Out".

我在网上搜索,发现调试可能会导致它,所以我删除了所有断点并运行代码,现在程序只是冻结,没有任何输出,queryList1Only我试图打印出来检查它.

编辑:这是myFileCompare的代码

class FileCompare : System.Collections.Generic.IEqualityComparer<System.IO.FileInfo>
    {

        public FileCompare() { }

        public bool Equals(System.IO.FileInfo f1, System.IO.FileInfo f2)
        {
            return (f1.Name == f2.Name && f1.Directory.Name == f2.Directory.Name && 
                    f1.Length == f2.Length);
        }

        // Return a hash that reflects the comparison criteria. According to the 
        // rules for IEqualityComparer<T>, if Equals is true, then the hash codes must
        // also …
Run Code Online (Sandbox Code Playgroud)

.net c# linq algorithm compare

6
推荐指数
1
解决办法
2506
查看次数

C#Threading Web应用程序中的问题

我有一个Web应用程序,在代码隐藏页面中,我有一个按钮单击事件.

protected void btnUpload_Click(object sender, EventArgs e)
        {
            TimerEvent TE = new TimerEvent();
            TE.TimerEvents();
            Server.Transfer("~/Jobs.aspx");
        }
Run Code Online (Sandbox Code Playgroud)

我有一个方法调用TimerEvents(),它可能需要10-15秒才能将控制权恢复到服务器传输.所以我希望服务器传输线在方法调用的同时执行.

我在这里试过线程:

    TimerEvent TE = new TimerEvent();
    Thread t = new Thread(TE.TimerEvents);
    t.IsBackground = true;
    t.Start();           
    Server.Transfer("~/Jobs.aspx");
Run Code Online (Sandbox Code Playgroud)

但是在方法完成之前不进行转移.我怎样才能做到这一点?

c# asp.net multithreading

5
推荐指数
1
解决办法
1253
查看次数

如何在Perl中tar多个文件?

我如何tar多个目录,并附加一些模式,如'.txt',并排除一些目录,并将一些模式,如'.exe'全部排除在一个tar文件中.主要的一点是目录的数量是未知的(动态的),所以我需要循环通过我猜?

perl tar include

2
推荐指数
1
解决办法
956
查看次数

使用带空格的目录将参数传递给命令行

我正在从perl为ContentCheck.pl进行系统调用,并使用目录(包含空格)传递参数.所以我用引号传递它们,但它们没有在ContentCheck.pl文件中被选中

Random.pm 1)

my $call = "$perlExe $contentcheck -t $target_path -b $base_path -o $output_path -s $size_threshold";
print "\ncall: ".$call."\n";
system($call);
Run Code Online (Sandbox Code Playgroud)

Contentcheck.pl

    use vars qw($opt_t $opt_b $opt_o $opt_n $opt_s $opt_h);  # initialize
    getopts('t:b:o:n:s:h') or do{ 
    print "*** Error:  Invalid command line option.  Use option -h  for help.\a\n";
    exit 1};

    if ($opt_h) {print $UsagePage; exit; }

    my $tar;
    if ($opt_t) {$tar=$opt_t; print "\ntarget ".$tar."\n";} else {
    print " in target";
    print 
     "*** Error:  Invalid command line option.  Use option -h  for help.\a\n"; …
Run Code Online (Sandbox Code Playgroud)

perl command-line

2
推荐指数
1
解决办法
4272
查看次数