my $tmp; open (my $fp, '+<', 'filename'); binmode ($fp); read ($fp, $tmp, 0x8f); ................. seek ($fp, 0xb0, 0); read ($fp, $tmp, (-s $fp) - tell ($fp)); ................. close ($fp);
-------- Original Message -------- Subject: [PerlChina] Re: 16???????????? From: perlw01f <[email protected]> To: PerlChina Mongers ?????? <[email protected]> Date: 8/8/2009 23:51 > ???????? ???? ???? 0x00-0x8f ?? > ???? binmode ?? read ???????????? > >> On 8??8??, ????7??24??, Anthony WU <[email protected]> wrote:> ???? >> seek ???? ?????????????????????h???????????????????????^ ???x >> >>> 0x00-0x8f ????0xb0???x??EOF?K??????????BYTES???????n?? >>> >>> -------- Original Message -------- >>> Subject: [PerlChina] Re: 16???????????? >>> From: perlw01f <[email protected]> >>> To: PerlChina Mongers ?????? <[email protected]> >>> Date: 8/8/2009 10:42 >>> >>>> ???? >>>> perldoc -f seek?????????????????????? ?? >>>> >>>> seek FILEHANDLE,POSITION,WHENCE >>>> Sets FILEHANDLE's position, just like the "fseek" call of >>>> "stdio". FILEHANDLE may be an expression whose value gives >>>> the >>>> name of the filehandle. The values for WHENCE are 0 to set >>>> the >>>> new position *in bytes* to POSITION, 1 to set it to the >>>> current >>>> position plus POSITION, and 2 to set it to EOF plus POSITION >>>> (typically negative). For WHENCE you may use the constants >>>> "SEEK_SET", "SEEK_CUR", and "SEEK_END" (start of the file, >>>> current position, end of the file) from the Fcntl module. >>>> Returns 1 upon success, 0 otherwise. >>>> >>>> Note the *in bytes*: even if the filehandle has been set to >>>> operate on characters (for example by using the ":utf8" open >>>> layer), tell() will return byte offsets, not character >>>> offsets >>>> (because implementing that would render seek() and tell() >>>> rather >>>> slow). >>>> >>>> If you want to position file for "sysread" or "syswrite", >>>> don't >>>> use "seek"--buffering makes its effect on the file's system >>>> position unpredictable and non-portable. Use "sysseek" >>>> instead. >>>> >>>> Due to the rules and rigors of ANSI C, on some systems you >>>> have >>>> to do a seek whenever you switch between reading and >>>> writing. >>>> Amongst other things, this may have the effect of calling >>>> stdio's clearerr(3). A WHENCE of 1 ("SEEK_CUR") is useful >>>> for >>>> not moving the file position: >>>> >>>> seek(TEST,0,1); >>>> >>>> This is also useful for applications emulating "tail -f". >>>> Once >>>> you hit EOF on your read, and then sleep for a while, you >>>> might >>>> have to stick in a seek() to reset things. The "seek" >>>> doesn't >>>> change the current position, but it *does* clear the end-of- >>>> file >>>> condition on the handle, so that the next "<FILE>" makes >>>> Perl >>>> try again to read something. We hope. >>>> >>>> If that doesn't work (some IO implementations are >>>> particularly >>>> cantankerous), then you may need something more like this: >>>> >>>> for (;;) { >>>> for ($curpos = tell(FILE); $_ = <FILE>; >>>> $curpos = tell(FILE)) { >>>> # search for some stuff and put it into files >>>> } >>>> sleep($for_a_while); >>>> seek(FILE, $curpos, 0); >>>> } >>>> >>>> ??????????code ???????????? >>>> seek ($fp, 0, 0x80); >>>> print $fp "\x0"; >>>> ???????????? 00000000h?????? ??1??2??????????0 ?????????? >>>> ?????????? >>>> seek ($fp, 16*8, 0x00); >>>> print $fp "\x0"; >>>> ???????????? >>>> >>>> ???? ???????? ?????????????????????? ???? 0x90-0xb0 >>>> ???? >>>> On 8??8??, ????12??48??, Anthony WU <[email protected]> wrote: >>>> >>>>> ???????f?????????s?? >>>>> open (my $fp, '+<', 'x.dat'); >>>>> binmode ($fp); >>>>> seek ($fp, 0, 0x80); >>>>> print $fp "\x0"; >>>>> seek ($fp, 0, 0x82); >>>>> print $fp "\x0"; >>>>> seek ($fp, 0, 0x84); >>>>> print $fp "\x0"; >>>>> seek ($fp, 0, 0x86); >>>>> print $fp "\x8B"; >>>>> seek ($fp, 0, 0x87); >>>>> print $fp "\x8B"; >>>>> seek ($fp, 0, 0x88); >>>>> print $fp "\x0A"; >>>>> seek ($fp, 0, 0x89); >>>>> print $fp "\x0A"; >>>>> .... >>>>> .... >>>>> .... >>>>> close ($fp); >>>>> >>>>> -------- Original Message -------- >>>>> Subject: [PerlChina] Re: 16???????????? >>>>> From: perlw01f <[email protected]> >>>>> To: PerlChina Mongers ?????? <[email protected]> >>>>> Date: 7/8/2009 21:16 >>>>> >>>>>> ???????????????? >>>>>> >>>>>> ?? 00000080h ?????? ??1 3 5 ????????0 78????8B 9 10 ????0A >>>>>> ?????????????? >>>>>> >>>>>> On 8??7??, ????9??04??, Anthony WU <[email protected]> wrote: >>>>>> >>>>>>> ?????????????????????????????N???????? >>>>>>> >>>>>>> -------- Original Message -------- >>>>>>> Subject: [PerlChina] Re: 16???????????? >>>>>>> From: perlw01f <[email protected]> >>>>>>> To: PerlChina Mongers ?????? <[email protected]> >>>>>>> Date: 7/8/2009 20:56 >>>>>>> >>>>>>>> ???????????? x.dat????x.rar.gz???????? ???????????????????????????? >>>>>>>> ?????????????? a.dat >>>>>>>> ???? ???????????????? >>>>>>>> ????a.date rename??x.rar.gz ????????ue???????????? >>>>>>>> ????????????????x.date >>>>>>>> >>>>>>>> ???????????????? ??ue 16???? ???????????????? >>>>>>>> ?????? ?? perl???? >>>>>>>> ???? >>>>>>>> >>>>>>>> On 8??7??, ????5??17??, cnhack TNT <[email protected]> wrote: >>>>>>>> >>>>>>>>> ?????????????????????????? >>>>>>>>> >>>>>>>>> 2009/8/7 perlw01f <[email protected]> >>>>>>>>> >>>>>>>>>> perl?? >>>>>>>>>> ??????????ultredit????????????????16??????????????????????module >>>>>>>>>> >>>>>>>>>> unpack?????????????? >>>>>>>>>> >>>>>>> -- >>>>>>> Best Regards, >>>>>>> Anthony WU >>>>>>> >>>>> -- >>>>> Best Regards, >>>>> Anthony WU >>>>> >>> -- >>> Best Regards, >>> Anthony WU >>> > > > > -- Best Regards, Anthony WU --~--~---------~--~----~------------~-------~--~----~ ?????????????????????????? Google ??????PerlChina Mongers ?????????????? ?????????????????????????????? [email protected] ???????????????????????? [email protected] ???????????????? http://groups.google.com/group/perlchina?hl=zh-CN ?????????? -~----------~----~----~----~------~----~------~--~---
