Astro-Bibcode
view release on metacpan or search on metacpan
# Verify each component and store in hash
my %parts;
# Note that ADS conference proceeding extensions are still valid bibcodes
$parts{year} = $self->_verify_year( $yyyy );
$parts{journalcode} = $self->_verify_journalcode( $jjjjj );
my ($class, $vol) = $self->_verify_volume( $vvvv );
$parts{volume} = $vol;
$parts{classflag} = $class;
$parts{misc} = $self->_verify_misc( $m );
$parts{page} = $self->_verify_page( $pppp );
$parts{initial} = $self->_verify_initial( $a );
# Ordinarily we would return if any of the values in the hash
# are undef. There is a special case if $a is "%" since this
# indicates that some of them may not match. In this case
# we do what we can.
if ($a ne "%") {
for my $v (values %parts) {
return unless defined $v;
}
}
# Return the answer
if (!wantarray) {
return $bibcode;
} else {
return %parts;
}
}
=back
=begin PRIVATE__METHODS
Internal routines which may change and should not be used in external
classes.
These are methods, although there is no expectation that subclasses
will be required.
=over 4
=item B<_construct_bibcode>
=cut
sub _construct_bibcode {
my $self = shift;
Carp::confess "Bibcode construction is not yet implemented. It may be hard.";
}
=item B<_verify_year>
Check the year looks okay, return false if it does not, the year
if it looks okay.
=cut
sub _verify_year {
my $self = shift;
my $year = shift;
return (($year =~ /^\d{4}$/) ? $year : () );
}
=item B<_verify_journalcode>
Check that the journal code looks okay. Returns the code if okay,
false otherwise.
Does not check to see if the journal code can be translated.
Trailing dots are removed from the input string.
=cut
sub _verify_journalcode {
my $self = shift;
my $jcode = shift;
# Clean the string
$jcode = _clean_string($jcode, 'L');
# Just make sure we have A-Z and &
return ( ( $jcode =~ /^[A-Za-z&]+$/) ? $jcode : () );
}
=item B<_verify_volume>
Check that the volume and class are okay.
In scalar context returns the verified string (with leading
dots removed).
($class, $volume) = $bib->_verify_volume( $v );
$v = $bib->_verify_volume($v);
In list context returns two values. First is the classification
flag (blank string for a periodical), second is the volume number
(leasing zeroes removed).
Note that since ADS does not seem to use the classification
code as presented in the reference documentation, this is a bit
of a hack (eg a Thesis would be expected to have class = T but
instead simply uses PhDT in the journal name and not the university).
This means that a blank volume and class are okay and the
class needs to be hacked in higher up.
=cut
sub _verify_volume {
my $self = shift;
my $vol = shift;
# Second character is important so we need to get that before
# cleaning
my $second = substr($vol,1,1);
# Clean the string
$vol = _clean_string( $vol, 'R' );
# empty is okay [need to guess later on]
return (wantarray ? ('', '') : $vol) unless $vol;
# Get standard classification codes
my $classes = join( "", keys %CLASS);
2000prpl.conf Protostars and Planets IV
1978ppsf.book Protostars and Planets: Studies of Star Formation and of the Origin of the Solar System
1999ptgr.conf Pulsar Timing, General Relativity and the Internal Structure of Neutron Stars
1989puls.book Pulsars
2003pasb.conf Pulsars, AXPs and SGRs Observed with BeppoSAX and Other Observatories
1981pbs..work Pulsating B-Stars
1982pccv.conf Pulsations in Classical and Cataclysmic Variable Stars
1985qcdb.conf QCD and Beyond, Vol. 1
1993qheh.conf QCD and High Energy Hadronic Interactions
1994qheh.conf QCD and High Energy Hadronic Interactions
1981qlp..conf QCD and Lepton Physics, Volume 1
2001qhte.conf QSO Hosts and Their Environments
1989qpps.conf QSO Physical Properties and Spectra
1999qagt.conf Quantum Aspects of Gauge Theories, Supersymmetry and Unification
1999quch.conf Quantum Chromodynamics
1993qcm..conf Quantum Control and Measurement
1987quco.book Quantum Cosmology
1969qfnm.conf Quantum Fluids and Nuclear Matter
1998qugr.conf Quantum Gravity
1965qoe..conf Quantum Optics and Electronics
1980qtc..conf Quantum Theory and Gravitation
1989qtg..book Quantum Theory and Gravitation
1966qtam.book Quantum Theory of Atoms, Molecules, and the Solid State, A Tribute to John C. Slater
1990qgp..conf Quark-Gluon Plasma
1991qal..work Quasar Absorption Lines
1996quho.conf Quasar Hosts
2001qarr.conf Quasars, AGNs and Related Research Across 2000. Conference on the occasion of L. Woltjer's 70th birthday
1983qgl..conf Quasars and Gravitational Lenses
1969qhea.conf Quasars and high-energy astronomy
1965qssg.conf Quasi-Stellar Sources and Gravitational Collapse
1990qfcc.proc The Quest for the Fundamental Constants in Cosmology
1980qel..book The Quest for Extraterrestrial Life
1977rpap.conf Radar probing of the Auroral plasma
1991rlep.rept Radars and Lidars in Earth and Planetary Sciences
1977raat.conf Radiation in the Atmosphere
1963rass.conf Radio Astronomical and Satellite Studies of the Atmosphere
1967raas.book Radio Astronomy
2000ralw.conf Radio Astronomy at Long Wavelengths
1987raas.work Radio Astronomy from Space
1986racp.work Radio Continuum Processes in Clusters of Galaxies
1987rapm.work Radio Emissions from Planetary Magnetospheres
1999rfpp.conf Radio Frequency Power in Plasmas
2000riss.conf Radio interferometry : the saga and the science
1980ritg.conf Radio Interferometry Techniques for Geodesy
1991rst..work The Radio Schmidt Telescope
1985ras..work Radio Stars; Proceedings of the Workshop on Stellar Continuum Radio Astronomy
1976rsrt.rept Radio, Submillimeter, and X-ray Telescopes
1960raso.conf Radioastronomia Solare
2001ragt.meet RAGtime 2/3: Workshops on Black Holes and Neutron Stars
1986rfsf.nasa Rapid Fluctuations in Solar Flares
1991rvos.conf Rapid Variability of OB-stars: Nature and Diagnostic Value
1960rgd..conf Rarefied Gas Dynamics
1961rgd..conf Rarefied Gas Dynamics
1963rgd1.conf Rarefied Gas Dynamics, Volume 1
1965rgd1.conf Rarefied Gas Dynamics, Volume 1
1967rgd1.conf Rarefied Gas Dynamics, Volume 1
1963rgd2.conf Rarefied Gas Dynamics, Volume 2
1965rgd2.conf Rarefied Gas Dynamics, Volume 2
1967rgd2.conf Rarefied Gas Dynamics, Volume 2
rmus.nasa Reanalysis of Mariner 9 UV Spectrometer Data for Ozone, Cloud, and Dust Abundances, and Their Interaction Over Climate Timescales
2000racc.conf Recent Advances and Cross-Century Outlooks in Physics, Interplay between Theory and Experiment
1977agra.rept Recent Advances in Gamma-Ray Astronomy
1982raoa.conf Recent Advances in Observational Astronomy
1985rapm.book Recent Advances in Planetary Meteorology
1982rdea.conf Recent Developments in Electron-Atom and Electron-Molecule Collision
1962rdgr.book Recent Developments in General Relativity
1996rdgm.conf Recent Developments in Gravitation and Mathematical Physics
2001rdpp.conf Recent Developments in Particle Physics and Cosmology
1999magr.meet Recent Developments in Theoretical and Experimental General Relativity, Gravitation, and Relativistic Field Theories
1977moff.symp Recent Results in Infrared Astrophysics
1985cava.rept Recent Results on Cataclysmic Variables
1983rrsb.conf Recent Results on Solid Body Magnetic Fields in the Solar System
1988rttp.conf Recent Topics in Theoretical Physics
1977rcao.conf Recognition of Compact Astrophysical Objects
1989resp.proc Reconnection in Space Plasma
1973rgs..conf Red Giant Stars
1977rseu.conf Redshifts and the Expansion of the Universe
2002rfg..conf Reference Frames and Gravitomagnetism
1979riao.symp Refractional Influences in Astrometry and Geodesy
1984rbcc.conf Relations Between Chromospheric-Coronal Heating and Mass Loss in Stars
1984rcch.conf Relative Chromoshperic Coronal Heat and Mass Loss in Stars
1997reas.conf Relativistic Astrophysics
1984rac..conf Relativistic Astrophysics and Cosmology
1992rac..conf Relativistic Astrophysics and Cosmology
1997raco.conf Relativistic Astrophysics and Cosmology
1997rggr.conf Relativistic Gravitation and Gravitational Radiation
1989rges.rept Relativistic Gravitational Experiments in Space
1997rja..proc Relativistic Jets in AGNs
1970rela.conf Relativity
1971regr.conf Relativity and Gravitation
1999rgg..conf Relativity and Gravitation in General
1983rctm.proc Relativity, Cosmology, Topological Mass and Supergravity; Proceedings of the Fourth Silarg Symposium on Gravity, Gauge Theories and Supergravity
1999rppc.conf Relativity, Particle Physics and Cosmology
1967rta1.book Relativity Theory and Astrophysics. Vol.1: Relativity and Cosmology
1967rta2.book Relativity Theory and Astrophysics. Vol.2: Galactic Structure
1967rta3.book Relativity Theory and Astrophysics. Vol.3: Stellar Structure
1993rgrc.conf The Renaissance of General Relativity and Cosmology
1971rsif.book Rendiconti della Scuola Internazionale Di Fisica
1989fsrd.work Report of the Florida Space Research and Development Workshop
1965eqae.conf Report on Equatorial Aeronomy
itab.rept Report on Instrumental and Theoretical Astrophysics
1976rapp.rept Reports of Accomplishments of Planetology Programs, 1975-1976.
1965rffd.conf Research Frontiers in Fluid Dynamics
1975rgcr.rept Research Goals for Cosmic-Ray Astrophysics in the 1980's
1997rpa..work Research in Particle-Astrophysics
1969rpc..conf Research in Physics and Chemistry
1970asas.book Research of the Sun and Stars
1974rpnl.conf Research Programmes for the New Large Telescopes
1976rbal.symp Research Utilizing Balloons
1968rla..conf Resonance Lines in Astrophysics
1991rnes.nasa Resources of Near-Earth Space
1993rnes.book Resources of near-earth space
2001ruag.conf The Restless Universe
1991rhis.conf The Restoration of HST Images and Spectra
1994rhis.conf The Restoration of HST Images and Spectra - II
1975rmsi.book Results and Methods for Studies of Interstellar Matter and Be Stars
1994rppp.conf Results and Perspectives in Particle Physics
1979rarl.conf Reunion Astronomica Regional Latinoamericana
1982rupp.book Revealing the Universe: Prediction and Proof in Astronomy
RMxAC Revista Mexicana de Astronomia y Astrofisica Conference Series
2004rcfg.proc The Riddle of Cooling Flows in Galaxies and Clusters of galaxies
( run in 0.387 second using v1.01-cache-2.11-cpan-df04353d9ac )