#!/usr/bin/perl -w use strict; use Bookmarks; use LWP::UserAgent; use Text::CSV; use Getopt::Long; GetOptions( 'csv' => \my $CSV, 'timeout=i' => \my $TIMEOUT, ); my $DBFILE = shift or die "Usage: $0 "; $TIMEOUT ||= 10; my $bookmarks = Bookmarks->new({ dbname => $DBFILE, }); my $ua = LWP::UserAgent->new; $ua->timeout($TIMEOUT); my $csv = Text::CSV->new; for my $bookmark (@{ $bookmarks->search->results }) { printf "%3d %s\n", $bookmark->id, $bookmark->uri unless $CSV; my $response = $ua->head($bookmark->uri); printf " -> %s\n", $response->status_line unless $CSV; $csv->combine( $bookmark->id, $bookmark->uri, $response->code, $response->message, ); print $csv->string . "\n" if $CSV; }