Скрипт для просмотра открытых табов в Firefox

Иногда требуется узнать какие вкладки оставлены открытыми в Firefox, запущенном на другой машине. Ниже представленный Perl-скрипт выводит из файла sessionstore.js список открытых табов в формате “url заголовок”: print_open_tabs.pl:

#!/usr/bin/perl

use strict;
use JSON;
binmode STDOUT, ":utf8";

  
   # Читаем содержимое в файл
   my $json_text = <>;
   # Преобразуем JSON-блок в хэш, предварительно убирая лидирующие скобки
   my $perl_scalar = from_json(substr($json_text,1,-1), {utf8 => 1});

   # Последовательно перебираем открытые окна и табы
   foreach my $windows_block (@{$perl_scalar->{windows}}){
       foreach my $tabs_block (@{$windows_block->{tabs}}){
           # выводим активные табы по их индексу
           if ($tabs_block->{"index"} > 0){
               my $idx = $tabs_block->{"index"}-1;
               print "$tabs_block->{entries}[$idx]{url}\t$tabs_block->{entries}[$idx]{title}\n";
           }
       }
   }
Пример использования:

./print_open_tabs.pl ~/.mozilla/firefox/*.default/sessionstore.js