File :
#comment1
#comment2
#comment3
#START HERE
a:
[email protected]
b:
[email protected]
my perl program :
use Data::Dumper;
use Tie::File;
tie my @array, 'Tie::File', 'ala.txt' or die $!;
my $rec = 'p:
[email protected]';
my $flag =1 ;
my $add_flag = 0;
for my $i (0..$#array) {
next if ($array[$i] =~ /^\s*$/);
if ( $flag == 1 ) {
if ($array[$i] =~ /#START HERE/ ) {
$flag = 0;
}
else {
next ;
}
}
if (($array[$i] cmp $rec) == 1) {
splice @array, $i, 0, $rec;
$add_flag = 1;
last ;
}
}
if ( $add_flag == 0 ) {
my $index = $#array+1;
$array[$index] = $rec ;
}
the recording adding end of
file always . I am trying to add to middle or begin or end like aplphbetical order
Edit 2 :
I want to do with Tie::FILE only .
after add :
(after 2 execution )
#comment1
#comment2
#comment3
#START HERE
a:
[email protected]
b:
[email protected]
p:
[email protected]
a:
[email protected] # if i add another record of a
Expection :
#comment1
#comment2
#comment3
#START HERE
a:
[email protected]
a:
[email protected]
b:
[email protected]
p:
[email protected]
q:
[email protected]