use strict; use warnings; my @contents= ; # indexing your content my %index; @index{ map((/address=(\d+\.\d+\.\d+\.\d+)/), @contents) }= 0..$#contents; # beware! will fail if no address in a line! # retrieving an index my $i= $index{'127.0.0.1'}; print defined($i) ? $i : "not found"; __DATA__ # SNMP manager 1 settings manager.1.address=127.0.0.1 manager.1.port=162 manager.1.version=2 manager.1.community=public # SNMP manager 1 settings manager.1.address=127.0.2.1 manager.1.port=162 manager.1.version=2 manager.1.community=public # SNMP manager 1 settings manager.1.address=127.0.3.1 manager.1.port=162 manager.1.version=2 manager.1.community=public