Sponsored Content
Top Forums Shell Programming and Scripting [Perl] Does m/\x0A/ same as m/\x{0A}/ ? Post 302645123 by natong on Wednesday 23rd of May 2012 06:25:19 AM
Old 05-23-2012
[Perl] Does m/\x0A/ same as m/\x{0A}/ ?

Perl allow hex character with just one digit.
Such as \x0 \x9 \xA.

How to force to use 2 digits in m// and s///.
Such as \x00 \x09 \x0A.

---------- Post updated at 05:20 PM ---------- Previous update was at 03:38 PM ----------

I don't know why these code replace as text, not a real hex binary code.
Code:
$s1 = "83 C4 0C 85 C0 75 ??";
$r1 = "83 C4 0C 85 C0 90 90";

$s1 = convert($s1);
$r1 = convert($r1);

sub convert
{
    $i =  shift(@_);
    $i =~ s#(\w\w)#\\x\{\1\}#g;
    $i =~ s#(\?\?)#\.#g;
    $i =~ s#\s##g;
    return $i;
}

open(IN,$file);
binmode(IN);
read(IN,$bin,$filesize);
close(IN);

$bin =~ s/$s1/$r1/;
print $bin;

---------- Post updated at 05:25 PM ---------- Previous update was at 05:20 PM ----------

If i use these it work.

Code:
$s1 = "\x83\xC4\x0C\x85\xC0\x75."; 
$r1 = "\x83\xC4\x0C\x85\xC0\x90\x90";  

open(IN,$file); 
binmode(IN); 
read(IN,$bin,$filesize); 
close(IN);  

$bin =~ s/$s1/$r1/; 
print $bin;


Last edited by natong; 05-23-2012 at 07:26 AM.. Reason: Code tags.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

[Perl] Accessing array elements within a sed command in Perl script

I am trying to use a script to replace the header of each file, whose filename are stored within the array $test, using the sed command within a Perl script as follows: $count = 0; while ( $count < $#test ) { `sed -e 's/BIOGRF 321/BIOGRF 332/g' ${test} > 0`; `cat 0 >... (2 Replies)
Discussion started by: userix
2 Replies

2. Shell Programming and Scripting

remove \x0a in unix

hi all, i have a flat file delimited by pipe (|), and i'm loading it to sybase, the problem is when i do a select to the table of the database, the last field has new line ascii (\x0a): 38,'0\x0a ' 88,'076004074028\x0a ' 27,'076004075023\x0a ' how can i remove the \x0a from... (1 Reply)
Discussion started by: DebianJ
1 Replies

3. Shell Programming and Scripting

Passing date formats in Perl: i.e. Jul/10/2007 -> 20070710 (yyyymmdd) - Perl

Hi , This script working for fine if pass script-name.sh Jul/10/2007 ,I want to pass 20070710(yyyymmdd) .Please any help it should be appereciated. use Time::Local; my $d = $ARGV; my $t = $ARGV; my $m = ""; @d = split /\//, $d; @t = split /:/, $t; if ( $d eq "Jan" ) { $m = 0 }... (7 Replies)
Discussion started by: akil
7 Replies

4. Shell Programming and Scripting

Replacing hex characters '\x0D' with '\x0D\x0A'

Hello All, I have a requirement where I need to replaced the hex character - '\x0D' with 2 hex characters - 'x0D' & 'x0A' I am trying to use SED - But somehow its not working. Any pointers? Also the hex character '\x0D' can occur anywhere in the line. Can this also be accomplished... (6 Replies)
Discussion started by: paragkalra
6 Replies

5. Shell Programming and Scripting

Perl :How to print the o/p of a Perl script on console and redirecting same in log file @ same time.

How can i print the output of a perl script on a unix console and redirect the same in a log file under same directory simultaneously ? Like in Shell script, we use tee, is there anything in Perl or any other option ? (2 Replies)
Discussion started by: butterfly20
2 Replies

6. Shell Programming and Scripting

Hidden Characters in Regular Expression Matching Perl - Perl Newbie

I am completely new to perl programming. My father is helping me learn said programming language. However, I am stuck on one of the assignments he has given me, and I can't find very much help with it via google, either because I have a tiny attention span, or because I can be very very dense. ... (4 Replies)
Discussion started by: kittyluva2
4 Replies

7. Shell Programming and Scripting

HELP on Perl array / sorting - trying to convert Korn Shell Script to Perl

Hi all, Not sure if this should be in the programming forum, but I believe it will get more response under the Shell Programming and Scripting FORUM. Am trying to write a customized df script in Perl and need some help with regards to using arrays and file handlers. At the moment am... (3 Replies)
Discussion started by: newbie_01
3 Replies

8. UNIX for Advanced & Expert Users

perl and HP-UX : instmodsh in combination with software depot : update inventory for installed Perl

we create a HP-UX software depot with a new perl-modul. after installation of the software depot, the perl module i can't find with instmodsh in the inventory for installed Perl modules. - i have learned of using instmodsh command : i find out what modules are already installed on my system. ... (0 Replies)
Discussion started by: bora99
0 Replies

9. Shell Programming and Scripting

Printf transforms \x0a into \x00

If printf '\x0a' | xxd -cols 1produces 0000000: 0a .then, why does printf '%c' "`printf '\x0a'`" | xxd -cols 1produce 0000000: 00 .?? (2 Replies)
Discussion started by: vomv1988
2 Replies

10. Programming

PERL: In a perl-scripttTrying to execute another perl-script that SETS SOME VARIABLES !

I have reviewed many examples on-line about running another process (either PERL or shell command or a program), but do not find any usefull for my needs way. (Reviewed and not useful the system(), 'back ticks', exec() and open()) I would like to run another PERL-script from first one, not... (1 Reply)
Discussion started by: alex_5161
1 Replies
charmap(4)						     Kernel Interfaces Manual							charmap(4)

NAME
charmap - Defines character symbols as character encodings DESCRIPTION
The character set description (charmap) file defines character symbols as character encodings. This file is the source file for a coded character set, or codeset. All supported codesets have the Portable Character Set (PCS) as a proper subset. The PCS consists of the fol- lowing character symbols (listed by their standardized symbolic names) and hexadecimal encodings: ------------------------------------------- Symbol Name Hexadecimal Encoding ------------------------------------------- <NUL> x00 <SOH> x01 <STX> x02 <ETX> x03 <EOT> x04 <ENQ> x05 <ACK> x06 <alert> x07 <backspace> x08 <tab> x09 <newline> x0A <vertical-tab> x0B <form-feed> x0C <carriage-return> x0D <SO> x0E <SI> x0F <DLE> x10 <DC1> x11 <DC2> x12 <DC3> x13 <DC4> x14 <NAK> x15 <SYN> x16 <ETB> x17 <CAN> x18 <EM> x19 <SUB> x1A <ESC> x1B <IS4> x1C <IS3> x1D <IS2> x1E <IS1> x1F <space> x20 <exclamation-mark> x21 <quotation-mark> x22 <number-sign> x23 <dollar-sign> x24 <percent> x25 <ampersand> x26 <apostrophe> x27 <left-parenthesis> x28 <right-parenthesis> x29 <asterisk> x2A <plus-sign> x2B <comma> x2C <hyphen> x2D <period> x2E <slash> x2F <zero> x30 <one> x31 <two> x32 <three> x33 <four> x34 <five> x35 <six> x36 <seven> x37 <eight> x38 <nine> x39 <colon> x3A <semi-colon> x3B <less-than> x3C <equal-sign> x3D <greater-than> x3E <question-mark> x3F <commercial-at> x40 <A> x41 <B> x42 <C> x43 <D> x44 <E> x45 <F> x46 <G> x47 <H> x48 <I> x49 <J> x4A <K> x4B <L> x4C <M> x4D <N> x4E <O> x4F <P> x50 <Q> x51 <R> x52 <S> x53 <T> x54 <U> x55 <V> x56 <W> x57 <X> x58 <Y> x59 <Z> x5A <left-bracket> x5B <backslash> x5C <right-bracket> x5D <circumflex> x5E <underscore> x5F <grave-accent> x60 <a> x61 <b> x62 <c> x63 <d> x64 <e> x65 <f> x66 <g> x67 <h> x68 <i> x69 <j> x6A <k> x6B <l> x6C <m> x6D <n> x6E <o> x6F <p> x70 <q> x71 <r> x72 <s> x73 <t> x74 <u> x75 <v> x76 <w> x77 <x> x78 <y> x79 <z> x7A <left-brace> x7B <vertical-line> x7C <right-brace> x7D <tilde> x7E <DEL> x7F ------------------------------------------- The charmap file has the following components: An optional special symbolic name declarations section Each declaration in this section consists of a special symbolic name, followed by one or more space or tab characters, and a value. The following list describes the special symbolic names that you can include in the declarations section: Specifies the name of the codeset for which the charmap file is defined. This value determines the value returned by the nl_langinfo (CODESET) subroutine. If <code_set_name> is not declared, the name for the Portable Character Set is used. Specifies the maximum number of bytes in a character for the codeset. Valid values are 1 to 4. The default value is 1. Specifies the minimum number of bytes in a character for the codeset. Since all supported codesets have the Portable Character Set as a proper subset, this value must be 1. Specifies the escape character that indicates encodings in hexadecimal or octal notation. The default value is a (backslash). Specifies the character used to indicate a comment within a charmap file. The default value is a # (number sign). The CHARMAP section header This header marks the beginning of the section that associates character symbols with encodings. Mapping statements for characters in the codeset Each statement lists a symbolic name for a character and its associated encoding. The format of a mapping statement is: <char_symbol> encoding A symbolic name begins with the < (left-angle bracket) character and ends with the > (right-angle bracket) character. The charac- ters for char_symbol (between < and >) can be any characters from the Portable Character Set, except for control and space charac- ters. The right-angle bracket (>) can occur in char_symbol as well in the last position of the name. You must precede all > charac- ters but the last one with the escape character (as specified by the <escape_char> special symbolic name). The format of a mapping statement is: <char_symbol> encoding An encoding is specified as one or more character constants, with the maximum number of character constants specified by the <mb_cur_max> special symbolic name. The encoding may be listed as decimal, octal, or hexadecimal constants with the following for- mats: xxx, where x is a hexadecimal digit ooo or oo, where o is an octal digit dddd or ddd, where d is a decimal digit Some examples of character symbol definitions are the following: <A> d65 #decimal constant <B> x42 #hexadecimal constant <j10101> x81xA1 #multiple hexadecimal constants A range of symbolic names and corresponding encoded values may also be defined, where the nonnumeric prefix for each symbolic name is common, and the numeric portion of the second symbolic name is equal to or greater than the numeric portion of the first sym- bolic name. In this format, a symbolic name value consists of zero or more nonnumeric characters followed by an integer of one or more decimal digits. This format defines a series of symbolic names. For example, the string <j0101>...<j0104> is interpreted as the <j0101>, <j0102>, <j0103>, and <j0104> symbolic names, in that order. In statements defining ranges of symbolic names, the encoded value listed is the value for the first symbolic name in the range. Subsequent symbolic names have encoded values in increasing order. For example: <j0101>...<j0104> d129d254 The preceding statement is interpreted as follows: <j0101> d129d254 <j0102> d129d255 <j0103> d130d0 <j0104> d130d1 Although you cannot assign multiple encodings to one symbolic name, you can create multiple names for one encoded value. This is allowed because some characters have several common names. For example, the "." character is called a period in some parts of the world, and a full stop in others. Both names may appear in the charmap. For example: <period> x2e <full-stop> x2e If used, comments must begin with the character specified by the <comment_char> special symbolic name. When an entire line is a comment, you must specify <comment_char> in the first column of the line. The END CHARMAP trailer This entry denotes the end of character map statements. The following example is a portion of a possible charmap file: CHARMAP <code_set_name> "ISO8859-1" <mb_cur_max> 1 <mb_cur_min> 1 <escape_char> <comment_char> # <NUL> x00 <SOH> x01 <STX> x02 <ETX> x03 <EOT> x04 <ENQ> x05 <ACK> x06 <alert> x07 <backspace> x09 <tab> x09 <newline> x0a <vertical-tab> x0b <form-feed> x0c <carriage-return> x0d END CHARMAP FILES
Character set description (charmap) source files for supported locales. The /usr/lib/nls/loc/charmaps directory does not exist when source files for installed locales are not provided. RELATED INFORMATION
Commands: locale(1), localedef(1). Files: locale(4). delim off charmap(4)
All times are GMT -4. The time now is 04:12 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy