Funkcja vec

Wbudowana funkcja vec() traktuje łańcuch jak wektor bitowy. Dzieli go na elementy zgodnie z określonym przeze mnie wzorcem, choć liczba bitów musi być potęgą dwójki. Funkcja vec() działa podobnie jak substr(), wyodrębniając części łańcucha, choć operuje tylko na jednym „elemencie” jednocześnie.

Mogę użyć dowolnego łańcucha. W poniższym przykładzie korzystam z elementów 8-bitowych, które odpowiadają (jednobajtowym) znakom:

#!/usr/bin/perl
# vec-string.pl

my $extract = vec "Oto kolejny haker Perla,", 4, 8;

printf "Wyodrębniłem element %s, czyli znak '%s'\n",
    $extract,
    chr($extract);

Z wyników widzę, że $extract to liczba, więc muszę użyć funkcji chr, aby przekształcić ją z powrotem w znak:

Wyodrębniłem element 116, czyli znak 'k'

Get Perl. Mistrzostwo w programowaniu now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.