in reply to Problem while Data Extraction

Don't turn off warnings, instead understand and fix the warnings.

Don't use prototype subs - they don't do what you think and will probably bite you.

If I understand what you want to do correctly the following should help:

#!/usr/bin/perl use strict; use warnings; while (<DATA>) { my @parts = split /(\|[^\|]*\|)/; for my $part (@parts) { if ($part =~ /\|(.*)\|/) { my @chars = $part =~ /([\da-f]+)/ig; $part = join '', map{chr(hex($_))} @chars; } print $part; } } __DATA__ |30 31 32 33 34|.dropbox.com User-Agent|3A|Google|20 20|Desktop

Prints:

01234.dropbox.com User-Agent:Google Desktop
True laziness is hard work