for ($i=1; $i<=3; $i++) {
if ( @user$i[3] >= 4.0 ) {
print "first";
} elsif ( @user$i[3] < 4.0 and @user$i[3] >= 2.5 ) {
print "second";
} else {
print "third";
}
}
यह काम नहीं करता है
मैं कोड के नीचे एक ही समारोह चाहता हूँ
क्या आप मुझे कुछ मदद दे सकते हैं
if ( @user1[3] >= 4.0 ) {
print "first";
} elsif ( @user1[3] < 4.0 and @user1[3] >= 2.5 ) {
print "second";
} else {
print "third";
}
if ( @user2[3] >= 4.0 ) {
print "first";
} elsif ( @user2[3] < 4.0 and @user2[3] >= 2.5 ) {
print "second";
} else {
print "third";
}
if ( @user3[3] >= 4.0 ) {
print "first";
} elsif ( @user3[3] < 4.0 and @user3[3] >= 2.5 ) {
print "second";
} else {
print "third";
}
उत्तर:
उत्तर № 1 के लिए 1विभिन्न सरणी पर पुनरावृत्त करने के लिए संदर्भों का उपयोग करें।
perldoc perlref - पर्ल संदर्भ
perldoc perldsc - पर्ल डेटा संरचना कुकबुक
#/usr/bin/env perl
use strict;
use warnings;
my @user1 = ( 1, 2, 3, 4 );
my @user2 = ( 4, 3, 1, 2 );
my @user3 = ( 2, 1, 4, 3 );
my $data = [ @user1, @user2, @user3 ];
my $field = 3; # Fourth field, perl is 0-based
for my $users ( @$data ) {
# $users->[...] instead of $users[...] because $users is an array reference
if ( $users->[$field] >= 4.0 ) {
print "first";
} elsif ( $users->[$field] < 4.0 and $users->[$field] >= 2.5 ) {
print "second";
} else {
print "third";
}
print "n";
}
उत्पादन
first
third
second