#!/usr/bin/perl use warnings; use strict; use LWP::Debug qw(+); use LWP::UserAgent; use Data::Dump qw(dump); use utf8; =begin eprints configuration add to /usr/share/eprints3/archives/grf/cfg/cfg.d/user_roles.pl $c->{user_roles}->{admin} = [qw{ # ... rest upsert # ... }]; =cut our $repo = "http://eprints.ffzg.hr/grf"; our $user = 'admin'; our $passwd = 'XXXX'; require "config.pl"; warn "# repo: $repo [$user]\n"; my $nr; my $ua = LWP::UserAgent->new; $ua->credentials("eprints.ffzg.hr:80", "EPrintsREST", "admin", "grfadmin"); my @ids; my $response = $ua->get( "$repo/rest/eprint/" ); if ($response->is_success) { my $html = $response->decoded_content; # print $html; @ids = grep { defined $_ } map { m{href=['"](\d+)/} && $1 || undef } split(/[\n\r]/, $html); } else { die $response->status_line; } print "ids = ",dump(@ids),$/; $nr = $ids[-1]; print "nr = $nr\n"; $response = $ua->get( "$repo/rest/eprint/$nr.xml" ); if ($response->is_success) { print "ORIG\n", $response->decoded_content; } else { die "ERROR: ", $response->status_line; } my $xml = $response->decoded_content; # or whatever my $title = $1 if $xml =~ m{