I updated a bit to

sr/bin/env perl

use strict;
use warnings;
use Carp qw(croak);
use autodie qw(open close);
use File::Basename;

croak "Usage: ./bibextract.pl tex_file.tex" unless defined $ARGV[0];

my $infile = $ARGV[0];

my $tex_file = $infile;
#my $bib_filename = "/home/lina/texmf/bibtex/bib/biophymd.bib";
my $bib_filename = "try.bib";
my $bib_abbrev_filename = "/home/lina/texmf/bibtex/bib/biophyabbrev.bib";
my $extracted_bib = "basename($infile).bib";
my $cited;
my @citeditems;
## read all the cited items from .tex file and save it to $cited
open my $fh, '<', $tex_file;
while(<$fh>){
        if(/cite\{(\S+)\}/){
                $cited = sprintf "%s\n",$1;
                $cited =~ tr/\,/\n/;
                push(@citeditems,$cited);
                }
}
close($fh);


## read the .bib database and extract the cited out
open my $fh2, '<', $bib_filename;

for (@citeditems){
        my $item = $_;
        while(my $line = <$fh2>){

                if ($line =~ m/$item/){
                        print $line; ### strangely here nothing print it out.
                
                }
        }
}
                

Thanks ahead for your suggestions,

Best regards,

P. S.

$ more try.bib
@Article{ dehydron,
        author = "L. F. Benoit and A. B. C",
        title = "",
        year = "2011",
        journal = JPCHEMB,
        volume = "15",
        number = "2",
        pages = "247-156",
        doi = "10.1/jp65985"
}



@Article{ inhibitorAromaticDirect,
        title = "",
        author = "J. Hardy and D. J. Selkoe",
        journal = SCIEN,
        pages = "35-56",
        volume = "29",
        number = "580",
        month = "Jul",
        year = "2030"
}

@Article{ dehydron1,
        title = "",
        author = "G. E. and A. Wedemann",
        journal = PEPT,
        pages = "128-127",
        volume = "2",
        number = "9",
        month = "Jul",
        year = "2001"
}

$ more sample.tex
aaa\cite{dehydron,dehydron1},ddd
bbb\cite\cite{inhibitorAromaticDirect}aaa

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to