File: make_data.pl

package info (click to toggle)
libbusiness-isbn-data-perl 20140910.003-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 320 kB
  • ctags: 10
  • sloc: xml: 5,694; perl: 377; makefile: 7
file content (39 lines) | stat: -rw-r--r-- 784 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/local/bin/perl5.10.0
use 5.010;

use strict;
use warnings;

use lib qw(lib);

use Business::ISBN::Data;

my %data = Business::ISBN::Data->_get_data();

foreach my $group ( sort { $a <=> $b } keys %data ) {
	next if $group =~ /\A_/;

	my $array = $data{$group};
	my( $group_name, $ranges ) = @$array;
	
	$group_name =~ s/'/\\'/g;

	printf "%-5s => [ %s => [ ",
		$group,
		qq|'$group_name'|;
		;
	
	unless( @$ranges ) {
		print " ] ],\n";
		next;
		}

	@$ranges = map { qq('$_') } @$ranges;

	foreach my $i ( 0 .. $#$ranges - 1 ) {
		print $ranges->[$i], ( " => ", ", " )[$i % 2];
		}
	print $ranges->[-1], "] ],\n";	
	}

#     0 => ['English',               ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '949999', '9500000' => '9999999' ] ],