home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Acorn User 10
/
AU_CD10.iso
/
Updates
/
Perl
/
Non-RPC
/
!Perl
/
scripts
/
FindModVer
< prev
next >
Wrap
Text File
|
1998-07-14
|
1KB
|
66 lines
#!perl -w
# Version 0.01
use RISCOS::Filespec;
# use RISCOS::File ':DEFAULT', '/glob/';
# glob_control (&fileglob_PrintOriginalPath);
$/ = "\0"; # Read null termintated lines
foreach $pattern (@ARGV)
{
foreach $file (glob($pattern))
{
unless (open (MOD, "<$file"))
{
warn "Could not open file '$file': $!";
next;
}
unless (seek MOD, 0x14 ,0)
{
warn "Could not seek to &14 in file '$file': $!";
next;
}
unless (read MOD, $where ,4)
{
warn "Could not read help offset from file '$file': $!";
next;
}
$where = unpack 'I', $where;
# Hmm. there's no unsigned V to force read little endian
unless ($where)
{
warn "Zero offset of help text in '$file'";
next;
}
if ($where > ($length = -s $file))
{
warn "Offset of help text in '$file' at $where > length ($length)";
next;
}
unless (seek MOD, $where ,0)
{
warn "Could not seek to $where in file '$file': $!";
next;
}
unless (defined ($text = <MOD>))
{
warn
"Could not read help text at offset $where in file '$file': $!";
next;
}
# Hey, got the text.
chomp $text;
print "$file:\n\t$text\n";
}
}