首页 文章

如何打印$ _

提问于
浏览
0

如何使用grep打印$ _ outside?我想打印 %try_1 内的数据,如果它与 %try .........匹配

#!/usr/bin/perl
use strict;
use warnings;
use Tie::Autotie 'Tie::IxHash';

tie my %try, 'Tie::IxHash';
$try{STRONG}{ALLIES}='A';
$try{AGILE}{BOBBY}='B';
$try{AGILE}{HOBBY}='B';
$try{SMART}{CAKRA}='C';
$try{SMART}{PHONE}='C';
$try{SMART}{PEOPLE}='C';
my %try_1;
$try_1{STRONGER}='A';
$try_1{AGILER}='B';
$try_1{SMARTER}='C';

foreach my $temp_0 (keys %try)
{
    print "\n".$_."\n" if (grep {$_ =~ /$temp_0/i} (keys %try_1));
 }

1 回答

  • 3

    你快到了 . 更改:

    print "\n".$_."\n" if (grep {$_ =~ /\Q$temp_0/i} (keys %try_1));
    

    至:

    print "\n".$_."\n" for grep {/\Q$temp_0/i} keys %try_1;
    

    \Q 处理 $temp_0 可能包含的任何特殊字符 .

相关问题