我有一个小问题.我正在阅读一些代码,因为我的学校没有教我任何关于perl编程的有用信息,我在这里问你们.我看到这条线在一些perl程序中被大量使用:
$variable = &something();
Run Code Online (Sandbox Code Playgroud)
我不知道&这里的标志是什么意思,因为我从未在perl中说过.这something是一个子程序(我猜).它通常会说出一个名称,它有时也会像函数一样包含参数.有人能告诉我&这里代表什么,这something是什么时候.
变量接受某种返回值,然后用于检查某些条件,这使我认为它是一个子例程.但还是为什么&呢?
谢谢
所以我使用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添加到我喜欢的位置.整个系统可能会崩溃.我想设置断点,因为它更安全
我在 linux 上工作,我想为文件的内容设置一个环境变量:vi 文件:
the env var should equal everything in here
Run Code Online (Sandbox Code Playgroud)
现在文件有很多 " 和其他特殊字符,要花很多时间来转义它们。有没有更简单的方法?
所以我写了这段代码,但它每次都给我相同的答案。我将按步骤 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)
有人能帮我吗?我不知道这里出了什么问题。我不需要不同的代码,我只是想了解这有什么问题。
有没有办法在linux中创建自定义信号.就像让我们说"回声疯狂"在文件中执行一样?无论何时执行该信号,我都会使用该信号停止该过程......此外,我还想使用带有新信号的perl Enbugger.有没有办法做到这一点?我从http://metacpan.org/pod/Enbugger找到了这个
use Enbugger::OnError qw( USR1 USR2 INT HUP );
Run Code Online (Sandbox Code Playgroud)
其中USR1和USR2是用户定义的信号.
我有这个小一点的代码,但我不知道为什么它不能读取的值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) 我的期望:我必须使用以下命令将第一个参数的值发送到调用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打印出来,但不是没有
提前致谢