小编ban*_*ban的帖子

Perl使用特殊字符&

我有一个小问题.我正在阅读一些代码,因为我的学校没有教我任何关于perl编程的有用信息,我在这里问你们.我看到这条线在一些perl程序中被大量使用:

$variable = &something();
Run Code Online (Sandbox Code Playgroud)

我不知道&这里的标志是什么意思,因为我从未在perl中说过.这something是一个子程序(我猜).它通常会说出一个名称,它有时也会像函数一样包含参数.有人能告诉我&这里代表什么,这something是什么时候.

变量接受某种返回值,然后用于检查某些条件,这使我认为它是一个子例程.但还是为什么&呢?

谢谢

perl

8
推荐指数
2
解决办法
7190
查看次数

将参数传递给调试器中的perl文件,并在系统执行的文件中设置断点

所以我使用perl -d file.pl在perl调试器中运行一个文件.但是file.pl也应该接受参数.我如何为file.pl提供参数还有一个问题:file.pl中有这一行:

system("./file2.pl");
Run Code Online (Sandbox Code Playgroud)

有没有办法在file2.pl中设置断点,如果它正在运行system?我在perl调试器上花了7天时间,我无法在file2.pl上设置断点请帮忙

编辑:从DVK得到一个很棒的响应添加DB :: single = 1.我在一些文件上测试了它并且它有效.但我有超过100个文件,如果我手动执行此操作,将花费我很多时间.我使用.perldb并使用afterinit来输出所有命令.我已经实现了一个算法,该算法可以找到断点需要去的每个文件的行号.我不能随意(自动使用可执行文件)打开所有这些文件并将DB :: single = 1添加到我喜欢的位置.整个系统可能会崩溃.我想设置断点,因为它更安全

debugging perl eval system

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

使环境变量等于文件的内容

我在 linux 上工作,我想为文件的内容设置一个环境变量:vi 文件:

the env var should equal everything in here
Run Code Online (Sandbox Code Playgroud)

现在文件有很多 " 和其他特殊字符,要花很多时间来转义它们。有没有更简单的方法?

linux environment-variables

3
推荐指数
1
解决办法
3215
查看次数

C编程增加字符串的大小

所以我写了这段代码,但它每次都给我相同的答案。我将按步骤 4 增加分配给指针的内存,然后打印该值。

#include <stdio.h>

int main(void) {
    int n=0;
    char *name = "hello";
    scanf("%d",&n);

    for(int i =0; i<n;i++){
        name += sizeof(int);
        printf("%d \n", (sizeof(&name)));
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有人能帮我吗?我不知道这里出了什么问题。我不需要不同的代码,我只是想了解这有什么问题。

c

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

在linux中创建一个新信号

有没有办法在linux中创建自定义信号.就像让我们说"回声疯狂"在文件中执行一样?无论何时执行该信号,我都会使用该信号停止该过程......此外,我还想使用带有新信号的perl Enbugger.有没有办法做到这一点?我从http://metacpan.org/pod/Enbugger找到了这个

 use Enbugger::OnError qw( USR1 USR2 INT HUP );
Run Code Online (Sandbox Code Playgroud)

其中USR1和USR2是用户定义的信号.

linux debugging perl signals process

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

Java:看不到我的变量

我有这个小一点的代码,但我不知道为什么它不能读取的值aa.width从aa类ab类.

我正在尝试创建一个基本游戏.该文件ab.java具有print语句.我知道我没有调用函数aa,但这就是java的工作方式.我以为我可以这样做aa.width,我会得到价值,因为它是一个公共变量...感谢您的帮助

aa.java:

package com.Game;

import javax.swing.JFrame;

public class aa {

    public static ab f= new ab();
    public static int width = 600;
    public static int height = 400;
    public static void main(String args[]){

        f.setSize(width,height);
        f.setResizable(false);
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setTitle("game first");
        f.setLocationRelativeTo(null);
        System.out.println("main window running!");

    }
}
Run Code Online (Sandbox Code Playgroud)

ab.java

package com.Game;

import java.awt.GridLayout;

import javax.swing.*;

public class ab extends JFrame {

    /**
     * 
     */
    private static final long serialVersionUID = …
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
168
查看次数

Shell中的Perl编程

我的期望:我必须使用以下命令将第一个参数的值发送到调用perl.pl文件的所有文件.

./perl.pl 1
Run Code Online (Sandbox Code Playgroud)

使用以下文件读取一个:(perl.pl)

#!/usr/bin/perl
package Black;
use strict;
use warnings;

#subroutines
sub get_x();

#variables
our $XE = -1;

  my ($param1, $param2, $param3) = @ARGV;
  my $x = get_x();

  sub get_x()
  {
  $XE = $param1;
  return $XE;

  }

exit;
Run Code Online (Sandbox Code Playgroud)

然后我写了另一个脚本,它根据perl.pl(0或1)的输入执行一些代码.该文件是./per.pl,我从linux终端调用如下:./ per.pl这是我为它写的代码:

#!/usr/bin/perl

require "perl.pl";

my $xd = Black::get_x();
if ($xd ==1){
print $xd;}
else {
print "5";
}
Run Code Online (Sandbox Code Playgroud)

出口;

但这是我写这些命令时得到的:

./perl.pl 1
Run Code Online (Sandbox Code Playgroud)

我试图打印它并打印1 ...在这种情况下从代码中删除了打印

./per.pl
Run Code Online (Sandbox Code Playgroud)

现在我一无所获.我希望1打印出来,但不是没有

提前致谢

linux perl

-1
推荐指数
1
解决办法
102
查看次数

标签 统计

perl ×4

linux ×3

debugging ×2

c ×1

environment-variables ×1

eval ×1

java ×1

process ×1

signals ×1

system ×1