如何阅读&书信电报;somestring>&引用;在perl中输入字符串
下面是我的代码。它仍然生成没有“如何阅读&书信电报;somestring>&引用;在perl中输入字符串,string,perl,String,Perl,下面是我的代码。它仍然生成没有“”的相同字符串 输入字符串: 1: invokespecial #1 // Method java/lang/Object."<init>":()V 1:invokespecial#1//方法java/lang/Object。”“:()V my$file=“Hello.javap”; 打开我的$fh,“你只是在问如何在perl中转义”?如果是这样的话,就像在大多数语言中一样编写\“\” 你在要求正则表达式吗?如果
”的相同字符串
输入字符串:
1: invokespecial #1 // Method java/lang/Object."<init>":()V
1:invokespecial#1//方法java/lang/Object。”“:()V
my$file=“Hello.javap”;
打开我的$fh,“你只是在问如何在perl中转义”
?如果是这样的话,就像在大多数语言中一样编写\“\”
你在要求正则表达式吗?如果是这样,$str~=/.\/\/Method(.*);/
将java/lang/Object.“:()V
放入$1
当Perl看到单词“name”前面的双引号时,它认为这是字符串的结尾,然后它抱怨单词name是一个空单词
您可能已经猜到了,我们需要转义嵌入的“字符:
while(我的$str=){
if(my($method)=$str=~m{//method(.*)){
打印“$method\n”;
}
}
我必须从javap文件中读取此输入。这里有如何使用\“。你不知道。“…\”
产生字符串…
,就像从文件中读取一样。你的代码不会编译。此外,你需要更清楚地了解问题(代码应该做什么?你得到了什么?你期望得到什么?)Hello.javap文件包含如下行。我想提取“invokespecial”的方法名,即从单词“method”到“V”的所有内容。下面是我在代码中阅读的Hello.javap的内容。编译自“Hello.java”公共类Hello{public Hello();Code:0:aload_0 1:invokespecial#1//Method java/lang/Object.“:()V 4:returnWe know.这并不能解决我提出的任何一个问题。请稍等。让我编辑主要帖子以使其更清楚。谢谢..问题解决了…我修改了正则表达式。
my $file = "Hello.javap";
open my $fh, '<', $file or die "Could not open '$file' $!";
while (my $line = <$fh>) {
if (index(uc($line), uc("Code:")) != -1) {
$code_block_started=1;
}
if(index($line,":")==-1)
{
if (my ($method) = $line =~ /.* \/\/ Method (.*);/) {
print "Method: $method\n";
}
print $line;
$code_block_started=0;
}
if($code_block_started){
if ($line =~/[0-9]/) {
my @num_strip = split(':',$line);
my @get_command = split(' ',$num_strip[1]);
# print "\n $get_command[0]";
$count{$get_command[0]}++;
}
}
use strict;
use warnings;
my $name = 'foo';
print "The \"name\" is \"$name\"\n";
while (my $str = <>) {
if (my ($method) = $str =~ m{// Method (.*)}) {
print "$method\n";
}
}