develooper Front page | perl.perl6.users | Postings from February 2019

Re: binary test and position?

Thread Previous | Thread Next
From:
Brad Gilbert
Date:
February 2, 2019 03:57
Subject:
Re: binary test and position?
Message ID:
CAD2L-T3i0CbO6ZURKF1acrDHCcuAAr7d02C6OM64F5v+fED-Mw@mail.gmail.com
`eq` is string equality
`==` is numeric equality

a Buf is neither.

You want `eqv` (equivalent)

    $b[2..4] eqv (0x90,0x00,0x04)

On Fri, Feb 1, 2019 at 9:37 PM ToddAndMargo via perl6-users
<perl6-users@perl.org> wrote:
>
> On 2/1/19 7:22 PM, ToddAndMargo via perl6-users wrote:
> > Hi All,
> >
> > On a type Buf, what do I use to check for the
> > position of a byte pattern?
> >
> >
> > Many thanks,
> > -T
>
>
> Basically, what am I doing wrong here?
>
> $ p6 'my $handle=open("filever.exe", :bin, :ro); my Buf $b; $b=
> $handle.read(5); say $b; say $b[2..4];; if ( $b[2..4] eq 0x90,0x00,0x04
> ) {say "y";} else {say "n"}; $handle.close;'
> Buf[uint8]:0x<4D 5A 90 00 03>
> (144 0 3)
> y
>
>
> I am testing to see if the pattern 0x90 0x00 0x04 exists,
> which is does not.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About