in reply to Life after DIE

whisp,

There are a couple of different ways to handle this. Are these

$_=PDF::Core::PDFGetline ($fd,\$offset); die "Can't read cross-reference section, according to trailer\n" if + ! /xref\r?\n?/ ;

your code or internal to the PDF module? If they're yours, don't die, just use warn and then break out of what ever control loop you have. Or, wrap the call in an 'eval'

eval { PDF::whatever_method(); }; if( $@ ) { print "Ooops an error occurred processing that pdf file; }

Basically you need to give us more info on the processing loop. I'm assuming it's something like this:

while( @FILES ) { $somevar = new PDF( $_ ); process( $somevar ); }

if that's the case, wrap the `"per file" code in an eval:

while( @FILES ) { eval { $somevar = new PDF( $_ ); process( $somevar ); }; if( $@ ) { print "Ooops on $_\n"; } }

That should help.

Updated: Forgot the semi-colon on one of the eval blocks - that always bites me.

-derby