The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


WWW::eiNetwork - Perl interface to Allegheny County, PA libraries


  use WWW::eiNetwork;

  my $ein = WWW::eiNetwork->new(
      card_number => '23456000000000',
      pin_number  => '1234',
      url_prefix  => '', #optional

  my @holds = $ein->holds;
  my @items = $ein->items;

  for my $hold (@holds)
      print qq(
          Title:                      $hold->{title}
          Status:                     $hold->{status}
          Pickup at:                  $hold->{pickup}
          Cancel if not picked up by: $hold->{cancel}\n\n
  for my $item (@items)
      print qq(
          Title:   $item->{title}
          Barcode: $item->{barcode}
          Status:  $item->{status}
          CallNo:  $item->{callno}\n\n


This module provides an object-oriented Perl interface to eiNetwork libraries in Allegheny County, Pennsylvania.


WWW::Mechanize, HTML::TableContentParser, Crypt::SSLeay or IO::Socket::SSL


The eiNetwork doesn't provide a public API - this module uses screen scraping to pull data directly from the HTML on their site. While I made an effort to code this module in such a way that small changes to the site layout and table arrangement won't break the module, any number of changes to the EIN's site could break this module.


The author of this module is not affiliated in any way with the EINetwork or any Allegheny County library.


Thanks to:

Adam Foxson ( for the great newbie's tutorial to contributing to CPAN at the Pittsburgh Perl Workshop (

Bob O'Neill ( for sharing his CPAN know-how.


Copyright (C) 2008 Michael Aquilina. All rights reserved.

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Michael Aquilina,