Nath, Alok (STSD) wrote:
> Hi,

Hello,

> I am trying to save data in an xml file.
> What I am seeing is when I enable the file locking commands
> the file is completely wiped out.Just zero bytes.
>       
> But it works correctly when I remove the file locking commands.
> 
> Please help ?? What I am doing wrong .
> 
> Regards,
> Alok
>       
> use XML::Twig;
> use Fcntl qw(:DEFAULT :flock);
> 
> my $registerFile = "Register.xml" ;
> my $twig = XML::Twig->new( pretty_print => 'indented' );
> 
>      # Save data into the xml file 
>       my $node = XML::Twig::Elt->new(
>                               'User', {'name' => $usr},
>                               XML::Twig::Elt->new( 'email' =>
> $email )) ;
>       $node->paste( last_child => $twig->root ) ;
>               
>       #use lock to write into the file
>       sysopen( FH, $registerFile, O_RDWR )
>               or die "can't open $registerFile: $!";
>       flock( FH,  LOCK_EX) 
>               or die "can't lock filename: $!";

flock() locks the file, it is NOT changing the size.


>       truncate(FH, 0) or die "can't truncate filename: $!";

truncate() changes the size of the file, here you are changing the size to
zero bytes!


>       $twig->parsefile( $registerFile );
>       $twig->print_to_file( $registerFile ) ; 
>               
>       close(FH)


John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to