#!/usr/bin/perl # list URLs currently loaded in firefox sub loadfile { local $/ = <> if local @ARGV = @_; } sub errmsg { warn @_; exit 1; } my $datafile = $ARGV[0] || errmsg("Usage: $0 \n"); my $js = loadfile($datafile) || errmsg("Error: Content $datafile could not be loaded\n"); my $winnum = 0; for my $window (split(/\[\{entries:/, $js)) { next if $window eq "({windows:[{tabs:"; $window =~ s/_closedTabs:.*$//; print "Window $winnum:\n"; for my $entry (split(/\{entries:/, $window)) { my @pages = (); foreach my $page (split /\{url:/, $entry) { if ($page =~ /^\"(.+?)\", title:/) { push(@pages, $1); } } if (@pages) { print " ", pop @pages, "\n"; } } $winnum++; }