Looks like your input file is a CSV (comma separated variable) file so you should use an appropriate CVS module to dot he heavy lifting for you. Text::CSV is a good starting point. Consider:
use strict;
use warnings;
use Text::CSV;
my $filename = 'infos.txt';
open my $fOut, '>', $filename or die "Can't create $filename: $!";
print $fOut <<TEST;
Mawts 25,female,melbourne
Awts 24,male,sydney
TEST
close $fOut;
my $parser = Text::CSV->new();
open my $fIn, '<', $filename or die "Can't open $filename: $!";
while (my $row = $parser->getline($fIn)) {
my ($name, $age) = $row->[0] =~ /(.*)\s(\d+)/;
print "Name: $name\n";
print "Age: $age\n";
print "Gender: $row->[1]\n";
print "Address: $row->[2]\n\n";
}
close $fIn;
Prints:
Name: Mawts
Age: 25
Gender: female
Address: melbourne
Name: Awts
Age: 24
Gender: male
Address: sydney
True laziness is hard work