while(<FILE>) { # this reads through $FILE, line by line chomp; # remove end of line character my $j = 0; my $contents = $_; next unless ($contents =~ /^INSERT /); # process only lines wh +ich start with INSERT my ($junk1, $sql, $junk) = split(/\(|\)/, $contents); # get th +e values from what could be an SQL INSERT statement?! my ($zoom, $x, $y, $flags, $length, $data) = split(/\,/, $sql) +; # get the columns $data =~ s/^X'//; # remove X' at start $data =~ s/'$//; # remove single quote at end my $filename = "./maptiles-output/$x,$y\@$zoom.png"; next if int(length($data))<128; # skip bogus data? # Write what appears to be hex-encoded data to a PNG file?! print $filename . "\n"; open(OUT, ">$filename") || die "$filename: $!"; print int(length($data)) . "\n"; while($j < length($data)) { my $hex = "0x" . substr($data, $j, 2); print OUT chr(hex($hex)); $j += 2; } close(OUT); }
Maybe you want a look at SQL::Parser for parsing the SQL?
In reply to Re: help figuring out what a section of script does
by Corion
in thread help figuring out what a section of script does
by michaelsingleton
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |