Как получить значения 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";
}