#!/usr/bin/perl -w
use strict;
####
use warnings;
####
my $data = get_file($jpg);
my @res = sizeJPG($data);
print "$jpg width $res[0] height $res[1]\n";
####
my $data = get_file($jpg);
my ($h,$v) = sizeJPG($data);
print "$jpg width $h height $v\n";
####
sub sizeJPG {
return unless $_[0];
my ( $width, $height );
( $height, $width ) =
unpack( "nn", $1 ) if $_[0] =~ /\xFF\xC0...(....)/;
return ( $width, $height );
}
####
local $_=shift;
####
my ($width,$height)=unpack "nn", (/\xFF\xC0...(....)/)[0];
####
my ($width,$height)=unpack "nn", /\xFF\xC0...(....)/ ? $1 : '';
# or "\0" x 4, maybe?
####
sub get_file {
open FILE, $_[0] or die $!;
binmode FILE;
local $/;
my $data = ;
close FILE;
return $data;
}
####
sub get_file {
local $/;
open my $fh, '<:raw', shift or die $!;
<$fh>;
}