if its ext4 then you could mount it on linux using just a loop:
mount -t ext4 -o loop ext4.img /mnt
if you're getting "unknown file" its just that that file doesn't exist in %fileHash which is quite likely, and not a problem i'd say.
you don't need to rename the file, just pass it in as an argument:
./split_update.pl UPDATA.APP
i just had a poke at it and oddly enough split_update.pl gives me "Unrecognised file format. Wrong identifier." but split_updata.pl doesn't, even though the code for doing that bit doesn't differ (maybe its windoze line wrappings or something).
i end up with this lot, most of the unknown_file's just seem to be huawei version strings (e.g. U8818V100R001C17B926 and U8815V100R001C00B924)
$ file *
AMSSMBN.img: x86 boot sector, mkdosfs boot message display, code offset 0x3c, OEM-ID " mkdosfs", sectors/cluster 8, root entries 512, Media descriptor 0xf8, sectors/FAT 130, heads 64, sectors 266240 (volumes > 32 MB) , serial number 0x7a0a34fb, label: " ", FAT (16 bit)
appsboothd.mbn: data
boot.img: data
boot_versions.txt: data
cust.img: Linux rev 1.0 ext4 filesystem data (extents) (large files)
file01.mbn: Hitachi SH big-endian COFF object, not stripped
file02.mbn: data
file04.mbn: data
file05.mbn: data
file07.mbn: data
file18.mbn: data
file20.mbn: data
file21.mbn: Tower32/800 68020
recovery.img: data
system.img: Linux rev 1.0 ext4 filesystem data (extents) (large files)
unknown_file.0: x86 boot sector; partition 1: ID=0x4d, active, starthead 0, startsector 1, 40 sectors; partition 2: ID=0x45, starthead 0, startsector 41, 600 sectors; partition 3: ID=0xc, starthead 0, startsector 641, 266240 sectors; partition 4: ID=0x5, starthead 0, startsector 266881, 0 sectors, code offset 0x0
unknown_file.1: ASCII text, with CRLF line terminators
unknown_file.10: ASCII text, with CRLF line terminators
unknown_file.2: data
unknown_file.3: ASCII text, with CRLF line terminators
unknown_file.4: data
unknown_file.5: data
unknown_file.6: DOS executable (device driver)
unknown_file.7: data
unknown_file.8: DBase 3 index file
unknown_file.9: ASCII text, with CRLF line terminators
userdata.img: Linux rev 1.0 ext4 filesystem data (extents) (large files)
version.txt: data