#!/usr/bin/perl -w -I/opt/eprints3/perl_lib # Search for eprints by date use EPrints; use strict; # Check we got 2 args if( scalar @ARGV != 2 ) { print "Usage: $0 repositoryid date\n"; exit; } my $repositoryid = $ARGV[0]; my $daterange = $ARGV[1]; # Start session my $session = new EPrints::Session( 1, $repositoryid ); exit( 0 ) unless( defined $session ); # Get archive dataset my $ds = $session->get_repository->get_dataset( "archive" ); # Create search expression my $search = new EPrints::Search( session=>$session, dataset=>$ds ); # Add filter $search->add_field( $ds->get_field( "date" ), $daterange, "EQ", "ALL" ); my $list = $search->perform_search; # Get ids of matching eprints # Note get_ids returns a reference to an array my $ids = $list->get_ids; print join( ",", @{$ids} )."\n"; # Tidy up $list->dispose(); # End session $session->terminate();