Nieznane polecenia: =~ i s/

0

Nie moge nigdzie znaleźć do czego służą te komendy:
=~
s/
Spotkałem się z nimi w pewnym kodzie źródłowym i niestety te komendy utrudniają mi jego zrozumienie.
Z góry wielkie dzięki

0

x=~x;
To negacja bitowa.

W tym drugim nie znam kontekstu, ale wygląda to na działanie: s dzielone przez..

http://www.codeproject.com/cpp/bitbashing.asp

0

To mi wygląda raczej na Perla :]

0

A co by to oznaczało w Perlu (jedno i drugie polecenie) ?

0

Combo [green] czyli dwa w jednym:

$zmienna = "młody arbuz nawiedził forum;
$zmienna =~ s/arbuz/haxor/;

W wyniku tej operacji w zmiennej $zmienna będzie text: "młody haxor nawiedził forum".

Chcesz wiedzieć więcej? Przeczytaj tę jedną jedyną stronkę [green]
http://republika.pl/wieluk/strony/wzorce.html

0

Marooned widze że orientujesz się w temacie [browar] Strona którą podałeś ne chce mi się załadować [!!!] Mam do Ciebie jeszcze jedną prośbę:
wytłumacz o co w tym chodzi:
$zmienna=~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;

Wcześniej $zmienna="ls -la"

Jeszcze raz wielkie dzieki za pomoc

0

To podaje zakodowany url_encode łączny rozmiar wszystkich plików w bieżącym katalogu

0

Dodajmy, że w systemach Unix/Linux - co by nie było wątpliwości (polecenie ls).

0

A wiecie może jak tą linijkę przepisać na Delphi ?

0
Marooned napisał(a)

Dodajmy, że w systemach Unix/Linux - co by nie było wątpliwości (polecenie ls).
Ja testowałem na windows :|

0
Qyon napisał(a)

Ja testowałem na windows :|
to ls -la działa na Windows?? Czy może Perl sam przekształca to na dir? :)
nie jestem biegły w Perlu [czas to zmienić]

// nie, ja mam po prostu unxtools zainstalowane - Q
//ech, to co w błąd wprowadzasz :P - M

0

To ja skorzystam z tematu...

$zmienna=~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
Wcześniej $zmienna="ls -la"

Gdzie jest fragment odpowiedzialny za wykonanie polecenia w $zmienna ? Bo rozumiem, że wynik operacji [listowania plików] leci z powrotem do $zmienna i dopiero jest parsowany przez regexp.

0

No ja to praktycznie noga jestem z Perla :( Mam do was jeszcze jedną prośbę: powiedzcie mi proszę co otrzymam po wykonaniu następujących poleceń w zmiennej $z :
$z="ls -la";
$z=~ s/(.*);$/$1/eg;
$z=~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;

A co otrzymam w tym wypadku:
$x=15;
$x=~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;

Chodzi mi co będzie się znajdować po wykonaniy w zmiennych $z i $x ?
Szukałem na ten temat w różnych kursach ale trudno mi się połapać :( dlatego proszę was o pomoc.
Jeszcze raz wielkie dzięki za pomoc [!!!] [browar]

0
Marooned napisał(a)

To ja skorzystam z tematu...

$zmienna=~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
Wcześniej $zmienna="ls -la"

Gdzie jest fragment odpowiedzialny za wykonanie polecenia w $zmienna ? Bo rozumiem, że wynik operacji [listowania plików] leci z powrotem do $zmienna i dopiero jest parsowany przez regexp.

Heh, ja ustawiłem $zmienna = <STDIN>;
:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1