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
x=~x;
To negacja bitowa.
W tym drugim nie znam kontekstu, ale wygląda to na działanie: s dzielone przez..
To mi wygląda raczej na Perla :]
A co by to oznaczało w Perlu (jedno i drugie polecenie) ?
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
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
To podaje zakodowany url_encode łączny rozmiar wszystkich plików w bieżącym katalogu
Dodajmy, że w systemach Unix/Linux - co by nie było wątpliwości (polecenie ls).
A wiecie może jak tą linijkę przepisać na Delphi ?
Marooned napisał(a)
Dodajmy, że w systemach Unix/Linux - co by nie było wątpliwości (polecenie ls).
Ja testowałem na windows :|
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
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.
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]
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>;
:)