#!/usr/bin/perl
use warnings;
use strict;
my $filename = __FILE__;
my %offset_type = ( number => 1,
string => 'abc',
reference => { a => 23 },
object => bless do { \ my $object }, 'Class'
);
for my $type (keys %offset_type) {
my $offset = $offset_type{$type};
open my $FH, '<', $filename or die $!;
eval {
warn "$type without quotes\n";
seek $FH, $offset, 0 or die "Report error - $!";
warn "quoted $type\n";
seek "$FH", $offset, 0 or die "Report error - $!";
1 } or warn $@;
}
####
number without quotes
quoted number
seek() on unopened filehandle at ./1.pl line 21.
Report error - Bad file descriptor at ./1.pl line 21.
reference without quotes
quoted reference
seek() on unopened filehandle at ./1.pl line 21.
Report error - Bad file descriptor at ./1.pl line 21.
string without quotes
Argument "abc" isn't numeric in seek at ./1.pl line 19.
quoted string
seek() on unopened filehandle at ./1.pl line 21.
Report error - Bad file descriptor at ./1.pl line 21.
object without quotes
quoted object
seek() on unopened filehandle at ./1.pl line 21.
Report error - Bad file descriptor at ./1.pl line 21.
##
##
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord
}map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,