Как получить значения Perl массива?

У меня есть некоторые атрибуты со значениями, хранящимися в массиве, как показано ниже, теперь мне нужно выполнить некоторые проверки значений атрибутов. Предложите мне, как я могу продолжить в Perl.

@ arr1 = `cat passwd.txt | tr '' '\ n' | egrep -i" maxage | minage "| sort'`;

массив arr1 содержит информацию как "maxage=0 minage=0"

В этом мне нужно выполнить, если условие на значение maxage, есть ли способ, как показано ниже, предложите мне, как я новичок в Perl.

if ( @arr1[0]|awk -F= '{print $2}' == 0 ) { printf "Then print task done"; }

2 ответа

Вы можете сделать весь процесс в Perl. Например:

use feature qw(say);
use strict;
use warnings;

my $fn = 'passwd.txt';
open ( my $fh, '<', $fn ) or die "Could not open file '$fn': $!";
my @arr1 = sort grep /maxage|minage/i, split ' ', <$fh>;
close $fh;
if ( (split /=/, shift @arr1)[1] == 0) {
   say "done";
}

Вы можете попробовать это?

@arr1 = `cat passwd.txt | tr ' ' '\n' | grep -i "maxage|minage"| sort`;
$x = `$arr1[0] |  awk -F= {print $2}`; // maybe $3 is true index
if ( x == 0 )
  {
      print  "Then print task done";
  }
Другие вопросы по тегам