use Cal::DAV; use Data::ICal; use Data::Dumper; my $url = "http://xxx.de/nextcloud/remote.php/dav/calendars/joe/personal/"; my $user = "joe"; my $pass = "XXX"; open FH, ">DEBUG.txt" or die ("Fehler beim schreiben $!"); my $cal = Cal::DAV->new( user => $user, pass => $pass, url => $url); print $cal->parse(filename => "personal.ics"); $cal->add_entry(make_entry()); $cal->save; my $dav = $cal->dav; print FH Dumper($cal); print FH Dumper($dav); print "message:".$cal->message; print "error:".$cal->errors; sub make_entry { my $d = Data::ICal->new( filename => 'personal2.ics' ); return $d->entries->[0]; }